Пример #1
0
    def test_schema_validation(self):
        provider = ProviderFactory()
        provider.credentials_schema = {
            "$schema": False,
        }

        assert_that(provider.validate(), contains_string("schema"))

        provider.credentials_schema = {
            "$schema": "A Schema",
        }

        assert_that(provider.validate(), none())
Пример #2
0
    def test_requires_common_provider(self):
        provider_1 = ProviderFactory()
        provider_2 = ProviderFactory()

        collector_type = CollectorTypeFactory(provider=provider_1)
        data_source = DataSourceFactory(provider=provider_2)

        collector = CollectorFactory(type=collector_type,
                                     data_source=data_source)

        assert_that(collector.validate(), contains_string('provider'))

        data_source.provider = provider_1

        assert_that(collector.validate(), none())
Пример #3
0
    def test_can_list_providers_with_collector_permission(self):
        provider = ProviderFactory()

        response = self.client.get('/provider',
                                   HTTP_AUTHORIZATION='Bearer correct-token')

        assert_that(response.status_code, equal_to(200))
Пример #4
0
    def test_get(self):
        provider = ProviderFactory(
            credentials_schema={
                "$schema": "http://json-schema.org/schema#",
                "type": "object",
                "properties": {
                    "password": {
                        "type": "string"
                    },
                },
                "required": ["password"],
                "additionalProperties": False,
            })
        response = self.client.get(
            '/provider/{}'.format(provider.name),
            HTTP_AUTHORIZATION='Bearer development-oauth-access-token',
            content_type='application/json')

        assert_that(response.status_code, equal_to(200))

        resp_json = json.loads(response.content)

        assert_that(resp_json['id'], equal_to(str(provider.id)))
        assert_that(resp_json['slug'], equal_to(provider.slug))
        assert_that(resp_json['name'], equal_to(provider.name))
        assert_that(resp_json['credentials_schema'],
                    equal_to(provider.credentials_schema))
Пример #5
0
    def test_list(self):
        provider_1 = ProviderFactory()
        provider_2 = ProviderFactory()

        response = self.client.get(
            '/provider',
            HTTP_AUTHORIZATION='Bearer development-oauth-access-token',
            content_type='application/json')

        assert_that(response.status_code, equal_to(200))

        resp_json = json.loads(response.content)

        assert_that(resp_json,
                    match_equality(has_entries({"slug": provider_1.slug})))
        assert_that(resp_json,
                    match_equality(has_entries({"slug": provider_2.slug})))
Пример #6
0
    def test_schema_validation(self):
        provider = ProviderFactory()
        provider.credentials_schema = {
            "$schema": False,
        }

        assert_that(provider.validate(), contains_string("schema"))

        provider.credentials_schema = {
            "$schema": "A Schema",
        }

        assert_that(provider.validate(), none())
Пример #7
0
 def test_credentials_are_validated_against_provider(self):
     provider = ProviderFactory(
         credentials_schema={
             "$schema": "http://json-schema.org/schema#",
             "type": "object",
             "properties": {
                 "password": {
                     "type": "string"
                 },
             },
             "required": ["password"],
             "additionalProperties": False,
         })
     credentials = '{"name": "something"}'
     data_source = DataSourceFactory(provider=provider,
                                     credentials=credentials)
     assert_that(data_source.credentials, credentials)
     assert_that(data_source.validate(), not_none())
     data_source.credentials = '{"password": "******"}'
     assert_that(data_source.validate(), none())
Пример #8
0
    def test_get_from_unauthorised_client_fails(self):
        provider = ProviderFactory()
        resp = self.client.get('/provider/{}'.format(provider.name))

        assert_that(resp.status_code, equal_to(403))
Пример #9
0
 def setUpClass(cls):
     cls.provider = ProviderFactory()
     cls.data_source = DataSourceFactory(provider=cls.provider)
     cls.collector_type = CollectorTypeFactory(provider=cls.provider)
     cls.data_set = DataSetFactory()
Пример #10
0
 def setUpClass(cls):
     cls.provider = ProviderFactory()