Exemple #1
0
    def test_not_exist_domain(self, fake_http):
        fake_http.get(f'{self.API_URL}/', status_code=404, json='')
        fake_http.head(f'{self.API_URL}/',
                       headers={'X-Total-Count': str(len(self.domain))})

        fake_http.post(f'{self.API_URL}/',
                       json={
                           "name": "unit.tests",
                           "create_date": 1507154178,
                           "id": 100000
                       })
        fake_http.get(f'{self.API_URL}/unit.tests/records/', json=list())
        fake_http.head(f'{self.API_URL}/unit.tests/records/',
                       headers={'X-Total-Count': str(len(self.api_record))})
        fake_http.post(f'{self.API_URL}/100000/records/', json=list())

        provider = SelectelProvider(123, 'test_token')

        zone = Zone('unit.tests.', [])

        for record in self.expected:
            zone.add_record(record)

        plan = provider.plan(zone)
        self.assertEquals(8, len(plan.changes))
        self.assertEquals(8, provider.apply(plan))
    def test_change_record(self, fake_http):
        exist_record = [
            self.aaaa_record, {
                "content": "6.6.5.7",
                "ttl": 100,
                "type": "A",
                "id": 100001,
                "name": "delete.unit.tests"
            }, {
                "content": "9.8.2.1",
                "ttl": 100,
                "type": "A",
                "id": 100002,
                "name": "unit.tests"
            }
        ]  # exist
        fake_http.get('{}/unit.tests/records/'.format(self.API_URL),
                      json=exist_record)
        fake_http.get('{}/'.format(self.API_URL), json=self.domain)
        fake_http.get('{}/100000/records/'.format(self.API_URL),
                      json=exist_record)
        fake_http.head('{}/unit.tests/records/'.format(self.API_URL),
                       headers={'X-Total-Count': str(len(exist_record))})
        fake_http.head('{}/'.format(self.API_URL),
                       headers={'X-Total-Count': str(len(self.domain))})
        fake_http.head('{}/100000/records/'.format(self.API_URL),
                       headers={'X-Total-Count': str(len(exist_record))})
        fake_http.post('{}/100000/records/'.format(self.API_URL), json=list())
        fake_http.delete('{}/100000/records/100001'.format(self.API_URL),
                         text="")
        fake_http.delete('{}/100000/records/100002'.format(self.API_URL),
                         text="")

        provider = SelectelProvider(123, 'test_token')

        zone = Zone('unit.tests.', [])

        for record in self.expected:
            zone.add_record(record)

        plan = provider.plan(zone)
        self.assertEquals(8, len(plan.changes))
        self.assertEquals(8, provider.apply(plan))
Exemple #3
0
    def test_apply(self, fake_http):

        fake_http.get(f'{self.API_URL}/unit.tests/records/', json=list())
        fake_http.get(f'{self.API_URL}/', json=self.domain)
        fake_http.head(f'{self.API_URL}/unit.tests/records/',
                       headers={'X-Total-Count': '0'})
        fake_http.head(f'{self.API_URL}/',
                       headers={'X-Total-Count': str(len(self.domain))})
        fake_http.post(f'{self.API_URL}/100000/records/', json=list())

        provider = SelectelProvider(123, 'test_token')

        zone = Zone('unit.tests.', [])

        for record in self.expected:
            zone.add_record(record)

        plan = provider.plan(zone)
        self.assertEquals(8, len(plan.changes))
        self.assertEquals(8, provider.apply(plan))