def test_commit_multiple_objects(self):
        db_api.start_tx()

        try:
            created = db_api.create_listener(LISTENERS[0])
            fetched = db_api.get_listener(created.name)

            self.assertEqual(created, fetched)

            created_wb = db_api.create_member(MEMBERS[0])
            fetched_wb = db_api.get_member(created_wb.name)

            self.assertEqual(created_wb, fetched_wb)
            self.assertTrue(self.is_db_session_open())

            db_api.commit_tx()
        finally:
            db_api.end_tx()

        self.assertFalse(self.is_db_session_open())

        fetched = db_api.get_listener(created.name)

        self.assertEqual(created, fetched)

        fetched_wb = db_api.get_member(created_wb.name)

        self.assertEqual(created_wb, fetched_wb)
        self.assertFalse(self.is_db_session_open())
Exemple #2
0
    def test_commit_multiple_objects(self):
        db_api.start_tx()

        try:
            created = db_api.create_listener(LISTENERS[0])
            fetched = db_api.get_listener(created.name)

            self.assertEqual(created, fetched)

            created_wb = db_api.create_member(MEMBERS[0])
            fetched_wb = db_api.get_member(created_wb.name)

            self.assertEqual(created_wb, fetched_wb)
            self.assertTrue(self.is_db_session_open())

            db_api.commit_tx()
        finally:
            db_api.end_tx()

        self.assertFalse(self.is_db_session_open())

        fetched = db_api.get_listener(created.name)

        self.assertEqual(created, fetched)

        fetched_wb = db_api.get_member(created_wb.name)

        self.assertEqual(created_wb, fetched_wb)
        self.assertFalse(self.is_db_session_open())
    def test_commit_transaction(self):
        with db_api.transaction():
            created = db_api.create_member(MEMBERS[0])
            fetched = db_api.get_member(created.name)

            self.assertEqual(created, fetched)
            self.assertTrue(self.is_db_session_open())

        self.assertFalse(self.is_db_session_open())

        fetched = db_api.get_member(created.name)

        self.assertEqual(created, fetched)
        self.assertFalse(self.is_db_session_open())
Exemple #4
0
    def test_commit_transaction(self):
        with db_api.transaction():
            created = db_api.create_member(MEMBERS[0])
            fetched = db_api.get_member(created.name)

            self.assertEqual(created, fetched)
            self.assertTrue(self.is_db_session_open())

        self.assertFalse(self.is_db_session_open())

        fetched = db_api.get_member(created.name)

        self.assertEqual(created, fetched)
        self.assertFalse(self.is_db_session_open())
Exemple #5
0
    def test_create_member(self, replace_file):
        listener = db_api.create_listener({
            'name': 'test_listener',
            'description': 'my test settings',
            'protocol': 'http',
            'protocol_port': 80,
            'algorithm': 'roundrobin'
        })

        # Create a listener first.
        self.haproxy.create_listener(listener)

        listener = db_api.get_listener('test_listener')

        member = db_api.create_member({
            'listener_id': listener.id,
            'name': 'member1',
            'address': '10.0.0.1',
            'protocol_port': 80,
        })

        self.haproxy.create_member(member)

        member = db_api.get_member('member1')

        self.assertEqual('10.0.0.1', member.address)

        self.assertEqual(2, replace_file.call_count)

        config_data = replace_file.call_args[0][1]
        self.assertIn(
            '\tserver %s %s:%s' %
            (member.name, member.address, member.protocol_port),
            config_data
        )
Exemple #6
0
    def test_create_or_update_member(self):
        name = MEMBERS[0]['name']

        self.assertIsNone(db_api.load_member(name))

        created = db_api.create_or_update_member(
            name,
            MEMBERS[0]
        )

        self.assertIsNotNone(created)
        self.assertIsNotNone(created.name)

        updated = db_api.create_or_update_member(
            created.name,
            {'description': 'my new description'}
        )

        self.assertEqual('my new description', updated.description)
        self.assertEqual(
            'my new description',
            db_api.load_member(updated.name).description
        )

        fetched = db_api.get_member(created.name)

        self.assertEqual(updated, fetched)
Exemple #7
0
    def test_rollback_multiple_objects(self):
        db_api.start_tx()

        try:
            created = db_api.create_listener(LISTENERS[0])
            fetched = db_api.get_listener(created['name'])

            self.assertEqual(created, fetched)

            created_wb = db_api.create_member(MEMBERS[0])
            fetched_wb = db_api.get_member(created_wb.name)

            self.assertEqual(created_wb, fetched_wb)
            self.assertTrue(self.is_db_session_open())

            db_api.rollback_tx()
        finally:
            db_api.end_tx()

        self.assertFalse(self.is_db_session_open())
        self.assertRaises(
            exc.NotFoundException,
            db_api.get_listener,
            created.name
        )
        self.assertRaises(
            exc.NotFoundException,
            db_api.get_member,
            created_wb.name
        )

        self.assertFalse(self.is_db_session_open())
Exemple #8
0
    def test_create_member(self, replace_file):
        listener = db_api.create_listener({
            'name': 'test_listener',
            'description': 'my test settings',
            'protocol': 'http',
            'protocol_port': 80,
            'algorithm': 'roundrobin'
        })

        # Create a listener first.
        self.haproxy.create_listener(listener)

        listener = db_api.get_listener('test_listener')

        member = db_api.create_member({
            'listener_id': listener.id,
            'name': 'member1',
            'address': '10.0.0.1',
            'protocol_port': 80,
        })

        self.haproxy.create_member(member)

        member = db_api.get_member('member1')

        self.assertEqual('10.0.0.1', member.address)

        self.assertEqual(2, replace_file.call_count)

        config_data = replace_file.call_args[0][1]
        self.assertIn(
            '\tserver %s %s:%s' %
            (member.name, member.address, member.protocol_port), config_data)
    def test_delete_member(self):
        created = db_api.create_member(MEMBERS[0])

        fetched = db_api.get_member(created.name)

        self.assertEqual(created, fetched)

        db_api.delete_member(created.name)

        self.assertRaises(exc.NotFoundException, db_api.get_member, created.name)
    def test_commit(self):
        db_api.start_tx()

        try:
            created = db_api.create_member(MEMBERS[0])
            fetched = db_api.get_member(created.name)

            self.assertEqual(created, fetched)
            self.assertTrue(self.is_db_session_open())

            db_api.commit_tx()
        finally:
            db_api.end_tx()

        self.assertFalse(self.is_db_session_open())

        fetched = db_api.get_member(created.name)

        self.assertEqual(created, fetched)
        self.assertFalse(self.is_db_session_open())
Exemple #11
0
    def test_commit(self):
        db_api.start_tx()

        try:
            created = db_api.create_member(MEMBERS[0])
            fetched = db_api.get_member(created.name)

            self.assertEqual(created, fetched)
            self.assertTrue(self.is_db_session_open())

            db_api.commit_tx()
        finally:
            db_api.end_tx()

        self.assertFalse(self.is_db_session_open())

        fetched = db_api.get_member(created.name)

        self.assertEqual(created, fetched)
        self.assertFalse(self.is_db_session_open())
    def test_create_and_get_and_load_member(self):
        created = db_api.create_member(MEMBERS[0])

        fetched = db_api.get_member(created["name"])

        self.assertEqual(created, fetched)

        fetched = db_api.load_member(created.name)

        self.assertEqual(created, fetched)

        self.assertIsNone(db_api.load_member("not-existing-wb"))
Exemple #13
0
    def test_create_and_get_and_load_member(self):
        created = db_api.create_member(MEMBERS[0])

        fetched = db_api.get_member(created['name'])

        self.assertEqual(created, fetched)

        fetched = db_api.load_member(created.name)

        self.assertEqual(created, fetched)

        self.assertIsNone(db_api.load_member("not-existing-wb"))
    def test_update_member(self):
        created = db_api.create_member(MEMBERS[0])

        self.assertIsNone(created.updated_at)

        updated = db_api.update_member(created.name, {"description": "my new description"})

        self.assertEqual("my new description", updated.description)

        fetched = db_api.get_member(created["name"])

        self.assertEqual(updated, fetched)
        self.assertIsNotNone(fetched.updated_at)
Exemple #15
0
    def test_delete_member(self):
        created = db_api.create_member(MEMBERS[0])

        fetched = db_api.get_member(created.name)

        self.assertEqual(created, fetched)

        db_api.delete_member(created.name)

        self.assertRaises(
            exc.NotFoundException,
            db_api.get_member,
            created.name
        )
Exemple #16
0
    def test_update_member(self):
        created = db_api.create_member(MEMBERS[0])

        self.assertIsNone(created.updated_at)

        updated = db_api.update_member(
            created.name,
            {'description': 'my new description'}
        )

        self.assertEqual('my new description', updated.description)

        fetched = db_api.get_member(created['name'])

        self.assertEqual(updated, fetched)
        self.assertIsNotNone(fetched.updated_at)
    def test_rollback_transaction(self):
        try:
            with db_api.transaction():
                created = db_api.create_member(MEMBERS[0])
                fetched = db_api.get_member(created.name)

                self.assertEqual(created, fetched)
                self.assertTrue(self.is_db_session_open())

                db_api.create_member(MEMBERS[0])

        except exc.DBDuplicateEntryException:
            pass

        self.assertFalse(self.is_db_session_open())
        self.assertRaises(exc.NotFoundException, db_api.get_member, created.name)
    def test_rollback(self):
        db_api.start_tx()

        try:
            created = db_api.create_member(MEMBERS[0])
            fetched = db_api.get_member(created.name)

            self.assertEqual(created, fetched)
            self.assertTrue(self.is_db_session_open())

            db_api.rollback_tx()
        finally:
            db_api.end_tx()

        self.assertFalse(self.is_db_session_open())
        self.assertRaises(exc.NotFoundException, db_api.get_member, created["id"])
        self.assertFalse(self.is_db_session_open())
    def test_create_or_update_member(self):
        name = MEMBERS[0]["name"]

        self.assertIsNone(db_api.load_member(name))

        created = db_api.create_or_update_member(name, MEMBERS[0])

        self.assertIsNotNone(created)
        self.assertIsNotNone(created.name)

        updated = db_api.create_or_update_member(created.name, {"description": "my new description"})

        self.assertEqual("my new description", updated.description)
        self.assertEqual("my new description", db_api.load_member(updated.name).description)

        fetched = db_api.get_member(created.name)

        self.assertEqual(updated, fetched)
Exemple #20
0
    def test_rollback_transaction(self):
        try:
            with db_api.transaction():
                created = db_api.create_member(MEMBERS[0])
                fetched = db_api.get_member(created.name)

                self.assertEqual(created, fetched)
                self.assertTrue(self.is_db_session_open())

                db_api.create_member(MEMBERS[0])

        except exc.DBDuplicateEntryException:
            pass

        self.assertFalse(self.is_db_session_open())
        self.assertRaises(
            exc.NotFoundException,
            db_api.get_member,
            created.name
        )
Exemple #21
0
    def test_rollback(self):
        db_api.start_tx()

        try:
            created = db_api.create_member(MEMBERS[0])
            fetched = db_api.get_member(created.name)

            self.assertEqual(created, fetched)
            self.assertTrue(self.is_db_session_open())

            db_api.rollback_tx()
        finally:
            db_api.end_tx()

        self.assertFalse(self.is_db_session_open())
        self.assertRaises(
            exc.NotFoundException,
            db_api.get_member,
            created['id']
        )
        self.assertFalse(self.is_db_session_open())
    def test_rollback_multiple_objects(self):
        db_api.start_tx()

        try:
            created = db_api.create_listener(LISTENERS[0])
            fetched = db_api.get_listener(created["name"])

            self.assertEqual(created, fetched)

            created_wb = db_api.create_member(MEMBERS[0])
            fetched_wb = db_api.get_member(created_wb.name)

            self.assertEqual(created_wb, fetched_wb)
            self.assertTrue(self.is_db_session_open())

            db_api.rollback_tx()
        finally:
            db_api.end_tx()

        self.assertFalse(self.is_db_session_open())
        self.assertRaises(exc.NotFoundException, db_api.get_listener, created.name)
        self.assertRaises(exc.NotFoundException, db_api.get_member, created_wb.name)

        self.assertFalse(self.is_db_session_open())