Пример #1
0
    def test_version_data_basics(self):
        examples = {
            'keystone': V3_VERSION_LIST,
            'cinder': CINDER_EXAMPLES,
            'glance': GLANCE_EXAMPLES
        }

        for path, data in examples.items():
            url = "%s%s" % (BASE_URL, path)

            mock = self.requests_mock.get(url, status_code=300, json=data)

            disc = discover.Discover(self.session, url)
            raw_data = disc.raw_version_data()
            clean_data = disc.version_data()

            for v in raw_data:
                for n in ('id', 'status', 'links'):
                    msg = '%s missing from %s version data' % (n, path)
                    self.assertThat(
                        v, matchers.Annotate(msg, matchers.Contains(n)))

            for v in clean_data:
                for n in ('version', 'url', 'raw_status'):
                    msg = '%s missing from %s version data' % (n, path)
                    self.assertThat(
                        v, matchers.Annotate(msg, matchers.Contains(n)))

            self.assertTrue(mock.called_once)
Пример #2
0
 def match(self, matchee):
     checks = []
     checks.append(matchers.IsInstance(FunctionCheck))
     checks.append(
         matchers.Annotate(
             "name doesn't match",
             matchers.AfterPreprocessing(operator.attrgetter('name'),
                                         matchers.Equals(self.name))))
     checks.append(
         matchers.Annotate(
             "info doesn't match",
             matchers.AfterPreprocessing(operator.attrgetter('info'),
                                         matchers.Equals(self.info))))
     checks.append(
         matchers.Annotate(
             "blocking doesn't match",
             matchers.AfterPreprocessing(operator.attrgetter('blocking'),
                                         matchers.Equals(self.blocking))))
     return matchers.MatchesAll(*checks).match(matchee)
Пример #3
0
    def test_available_versions_basics(self):
        examples = {'keystone': V3_VERSION_LIST,
                    'cinder': jsonutils.dumps(CINDER_EXAMPLES),
                    'glance': jsonutils.dumps(GLANCE_EXAMPLES)}

        for path, text in six.iteritems(examples):
            url = "%s%s" % (BASE_URL, path)

            self.requests_mock.get(url, status_code=300, text=text)
            versions = discover.available_versions(url)

            for v in versions:
                for n in ('id', 'status', 'links'):
                    msg = '%s missing from %s version data' % (n, path)
                    self.assertThat(v, matchers.Annotate(msg,
                                                         matchers.Contains(n)))