~ubuntu-branches/ubuntu/trusty/python-keystoneclient/trusty-proposed

« back to all changes in this revision

Viewing changes to keystoneclient/tests/v2_0/test_discovery.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short, Adam Gandelman, Chuck Short
  • Date: 2013-11-14 10:51:32 UTC
  • mfrom: (1.1.23)
  • Revision ID: package-import@ubuntu.com-20131114105132-p1o428l7fclasv9e
Tags: 1:0.4.1-0ubuntu1
[ Adam Gandelman ]
* debian/patches: Refreshed.
* debian/patches/use-mox-dependency.patch: Use mox instead of mox3
  dependency.

[ Chuck Short ]
* New upstream release.
* debian/control:
  - open icehouse release.
  - Dropped python-d2to1 and python-httplib2 dependency.
* debian/patches/skip-tests-ubuntu.patch: Dropped no longer needed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# vim: tabstop=4 shiftwidth=4 softtabstop=4
 
2
 
 
3
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
 
4
#    not use this file except in compliance with the License. You may obtain
 
5
#    a copy of the License at
 
6
#
 
7
#         http://www.apache.org/licenses/LICENSE-2.0
 
8
#
 
9
#    Unless required by applicable law or agreed to in writing, software
 
10
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 
11
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 
12
#    License for the specific language governing permissions and limitations
 
13
#    under the License.
 
14
 
 
15
import httpretty
 
16
 
 
17
from keystoneclient.generic import client
 
18
from keystoneclient.tests.v2_0 import utils
 
19
 
 
20
 
 
21
class DiscoverKeystoneTests(utils.UnauthenticatedTestCase):
 
22
    def setUp(self):
 
23
        super(DiscoverKeystoneTests, self).setUp()
 
24
        self.TEST_RESPONSE_DICT = {
 
25
            "versions": {
 
26
                "values": [{
 
27
                    "id": "v2.0",
 
28
                    "status": "beta",
 
29
                    "updated": "2011-11-19T00:00:00Z",
 
30
                    "links": [
 
31
                        {"rel": "self",
 
32
                         "href": "http://127.0.0.1:5000/v2.0/", },
 
33
                        {"rel": "describedby",
 
34
                         "type": "text/html",
 
35
                         "href": "http://docs.openstack.org/api/"
 
36
                         "openstack-identity-service/2.0/content/", },
 
37
                        {"rel": "describedby",
 
38
                         "type": "application/pdf",
 
39
                         "href": "http://docs.openstack.org/api/"
 
40
                                 "openstack-identity-service/2.0/"
 
41
                                 "identity-dev-guide-2.0.pdf", },
 
42
                        {"rel": "describedby",
 
43
                         "type": "application/vnd.sun.wadl+xml",
 
44
                         "href": "http://127.0.0.1:5000/v2.0/identity.wadl", }
 
45
                    ],
 
46
                    "media-types": [{
 
47
                        "base": "application/xml",
 
48
                        "type": "application/vnd.openstack.identity-v2.0+xml",
 
49
                    }, {
 
50
                        "base": "application/json",
 
51
                        "type": "application/vnd.openstack.identity-v2.0+json",
 
52
                    }],
 
53
                }],
 
54
            },
 
55
        }
 
56
 
 
57
    @httpretty.activate
 
58
    def test_get_versions(self):
 
59
        self.stub_url(httpretty.GET, base_url=self.TEST_ROOT_URL,
 
60
                      json=self.TEST_RESPONSE_DICT)
 
61
 
 
62
        cs = client.Client()
 
63
        versions = cs.discover(self.TEST_ROOT_URL)
 
64
        self.assertIsInstance(versions, dict)
 
65
        self.assertIn('message', versions)
 
66
        self.assertIn('v2.0', versions)
 
67
        self.assertEqual(
 
68
            versions['v2.0']['url'],
 
69
            self.TEST_RESPONSE_DICT['versions']['values'][0]['links'][0]
 
70
            ['href'])
 
71
 
 
72
    @httpretty.activate
 
73
    def test_get_version_local(self):
 
74
        self.stub_url(httpretty.GET, base_url="http://localhost:35357/",
 
75
                      json=self.TEST_RESPONSE_DICT)
 
76
 
 
77
        cs = client.Client()
 
78
        versions = cs.discover()
 
79
        self.assertIsInstance(versions, dict)
 
80
        self.assertIn('message', versions)
 
81
        self.assertIn('v2.0', versions)
 
82
        self.assertEqual(
 
83
            versions['v2.0']['url'],
 
84
            self.TEST_RESPONSE_DICT['versions']['values'][0]['links'][0]
 
85
            ['href'])