Exemple #1
0
    def test_apply(self):
        _expected = self.make_expected()

        # Test happy flow. Create all supoorted records
        provider = TransipProvider('test', 'unittest', self.bogus_key)
        provider._client = MockDomainService('unittest', self.bogus_key)
        plan = provider.plan(_expected)
        self.assertEqual(12, len(plan.changes))
        changes = provider.apply(plan)
        self.assertEqual(changes, len(plan.changes))

        # Test unhappy flow. Trigger 'not found error' in apply stage
        # This should normally not happen as populate will capture it first
        # but just in case.
        changes = []  # reset changes
        with self.assertRaises(Exception) as ctx:
            provider = TransipProvider('test', 'unittest', self.bogus_key)
            provider._client = MockDomainService('unittest', self.bogus_key)
            plan = provider.plan(_expected)
            plan.desired.name = 'notfound.unit.tests.'
            changes = provider.apply(plan)

        # Changes should not be set due to an Exception
        self.assertEqual([], changes)

        self.assertEquals(str('WebFault'),
                          str(ctx.exception.__class__.__name__))

        self.assertEquals(str('102'), ctx.exception.fault.faultcode)

        # Test unhappy flow. Trigger a unrecoverable error while saving
        _expected = self.make_expected()  # reset expected
        changes = []  # reset changes

        with self.assertRaises(Exception) as ctx:
            provider = TransipProvider('test', 'unittest', self.bogus_key)
            provider._client = MockDomainService('unittest', self.bogus_key)
            plan = provider.plan(_expected)
            plan.desired.name = 'failsetdns.unit.tests.'
            changes = provider.apply(plan)

        # Changes should not be set due to an Exception
        self.assertEqual([], changes)

        self.assertEquals(str('TransipException'),
                          str(ctx.exception.__class__.__name__))
Exemple #2
0
    def test_plan(self):
        _expected = self.make_expected()

        # Test Happy plan, only create
        provider = TransipProvider('test', 'unittest', self.bogus_key)
        provider._client = MockDomainService('unittest', self.bogus_key)
        plan = provider.plan(_expected)

        self.assertEqual(12, plan.change_counts['Create'])
        self.assertEqual(0, plan.change_counts['Update'])
        self.assertEqual(0, plan.change_counts['Delete'])

        return