Revision 2e208584

b/snf-pithos-app/pithos/api/test/top_level.py
1
#!/usr/bin/env python
2
#coding=utf8
3

  
4
# Copyright 2011-2013 GRNET S.A. All rights reserved.
5
#
6
# Redistribution and use in source and binary forms, with or
7
# without modification, are permitted provided that the following
8
# conditions are met:
9
#
10
#   1. Redistributions of source code must retain the above
11
#      copyright notice, this list of conditions and the following
12
#      disclaimer.
13
#
14
#   2. Redistributions in binary form must reproduce the above
15
#      copyright notice, this list of conditions and the following
16
#      disclaimer in the documentation and/or other materials
17
#      provided with the distribution.
18
#
19
# THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
20
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
23
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
26
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30
# POSSIBILITY OF SUCH DAMAGE.
31
#
32
# The views and conclusions contained in the software and
33
# documentation are those of the authors and should not be
34
# interpreted as representing official policies, either expressed
35
# or implied, of GRNET S.A.
36

  
37
from pithos.api.test import PithosAPITest
38

  
39
from synnefo.lib import join_urls
40

  
41
class TopLevel(PithosAPITest):
42
    def test_not_allowed_method(self):
43
        r = self.head(self.pithos_path)
44
        self.assertEqual(r.status_code, 400)
45
        r = self.put(self.pithos_path, data='')
46
        self.assertEqual(r.status_code, 400)
47
        r = self.post(self.pithos_path, data='')
48
        self.assertEqual(r.status_code, 400)
49
        r = self.delete(self.pithos_path)
50
        self.assertEqual(r.status_code, 400)
51

  
52
    def test_authenticate(self):
53
        r = self.get(self.pithos_path, token=None)
54
        self.assertEqual(r.status_code, 400)
55

  
56
        r = self.get(self.pithos_path, token=None, HTTP_X_AUTH_USER=self.user)
57
        self.assertEqual(r.status_code, 400)
58

  
59
        r = self.get(self.pithos_path, token=None, HTTP_X_AUTH_USER=self.user,
60
                     HTTP_X_AUTH_KEY='DummyToken')
61
        self.assertEqual(r.status_code, 204)
62
        self.assertTrue('X-Auth-Token' in r)
63
        self.assertTrue(r['X-Auth-Token'], 'DummyToken')

Also available in: Unified diff