Ejemplo n.º 1
0
    def post(self, member):
        """Create a new member."""
        LOG.info("Create member [member_name=%s]" % member.name)

        if not (member.name and member.protocol_port and member.address
                and member.listener_name):
            raise exceptions.InputException(
                'You must provide at least name, protocol_port, '
                'listener_name and address of the member.')

        pecan.response.status = 201

        values = member.to_dict()
        listener_name = values.pop('listener_name')
        lb_driver = driver.LB_DRIVER()

        with db_api.transaction():
            listener = db_api.get_listener(listener_name)

            values['listener_id'] = listener.id

            member = db_api.create_member(values)
            db_model = lb_driver.create_member(member)

            lb_driver.apply_changes()

        return Member.from_dict(db_model.to_dict())
    def test_put(self):
        driver.LB_DRIVER().update_listener = MOCK_UPDATED_LISTENER

        resp = self.app.put_json('/v1/listeners/test', FOR_UPDATED_LISTENER)

        self.assertEqual(200, resp.status_int)

        self.assertDictEqual(UPDATED_LISTENER, resp.json)
    def test_post_dup(self):
        driver.LB_DRIVER().create_listener = MOCK_DUPLICATE

        resp = self.app.post_json('/v1/listeners',
                                  LISTENER,
                                  expect_errors=True)

        self.assertEqual(409, resp.status_int)
    def test_post(self):
        driver.LB_DRIVER().create_listener = MOCK_LISTENER

        resp = self.app.post_json('/v1/listeners', LISTENER)

        self.assertEqual(201, resp.status_int)

        self.assertDictEqual(LISTENER, resp.json)
    def test_put_not_found(self):
        driver.LB_DRIVER().update_member = MOCK_NOT_FOUND

        resp = self.app.put_json('/v1/members/123',
                                 UPDATED_MEMBER,
                                 expect_errors=True)

        self.assertEqual(404, resp.status_int)
    def test_post_dup(self):
        driver.LB_DRIVER().create_member = MOCK_DUPLICATE

        member = copy.deepcopy(MEMBER)
        member['listener_name'] = 'listener_name'

        resp = self.app.post_json('/v1/members', member, expect_errors=True)

        self.assertEqual(409, resp.status_int)
    def test_put_not_found(self):
        driver.LB_DRIVER().update_listener = MOCK_NOT_FOUND

        listener = FOR_UPDATED_LISTENER

        resp = self.app.put_json('/v1/listeners/test',
                                 listener,
                                 expect_errors=True)

        self.assertEqual(404, resp.status_int)
    def test_put(self):
        driver.LB_DRIVER().update_member = MOCK_UPDATED_MEMBER

        resp = self.app.put_json(
            '/v1/members/123',
            UPDATED_MEMBER,
        )

        self.assertEqual(200, resp.status_int)
        self.assertEqual(UPDATED_MEMBER, resp.json)
Ejemplo n.º 9
0
    def delete(self, name):
        """Delete the named listener."""
        LOG.info("Delete listener [name=%s]" % name)

        lb_driver = driver.LB_DRIVER()

        with db_api.transaction():
            listener = db_api.get_listener(name)
            lb_driver.delete_listener(listener)
            db_api.delete_listener(name)

            lb_driver.apply_changes()
    def test_post(self):
        driver.LB_DRIVER().create_member = MOCK_MEMBER

        member = copy.deepcopy(MEMBER)
        member['listener_name'] = 'listener_name'

        resp = self.app.post_json(
            '/v1/members',
            member,
        )

        self.assertEqual(201, resp.status_int)
        self.assertEqual(MEMBER, resp.json)
Ejemplo n.º 11
0
    def delete(self, name):
        """Delete the named member."""
        LOG.info("Delete member [name=%s]" % name)

        lb_driver = driver.LB_DRIVER()

        with db_api.transaction():
            member = db_api.get_member(name)
            db_api.delete_member(name)

            lb_driver.delete_member(member)

            lb_driver.apply_changes()
Ejemplo n.º 12
0
    def put(self, name, listener):
        """Update an listener."""

        LOG.info("Update listener [name=%s, listener=%s]" % (name, listener))

        lb_driver = driver.LB_DRIVER()

        with db_api.transaction():
            listener = db_api.update_listener(name, listener.to_dict())
            db_model = lb_driver.update_listener(listener)

            lb_driver.apply_changes()

        return Listener.from_dict(db_model.to_dict())
Ejemplo n.º 13
0
    def put(self, name, member):
        """Update a member."""
        LOG.info("Update member [member_name=%s]" % name)

        values = member.to_dict()

        lb_driver = driver.LB_DRIVER()

        with db_api.transaction():
            member = db_api.update_member(name, values)
            db_model = lb_driver.update_member(member)

            lb_driver.apply_changes()

        return Member.from_dict(db_model.to_dict())
Ejemplo n.º 14
0
    def post(self, listener):
        """Create a new listener."""
        LOG.info("Create listener [listener=%s]" % listener)

        if not (listener.name and listener.protocol_port
                and listener.protocol):
            raise exceptions.InputException(
                'You must provide at least name, protocol_port and'
                ' protocol of the listener.')

        lb_driver = driver.LB_DRIVER()

        with db_api.transaction():
            listener = db_api.create_listener(listener.to_dict())
            db_model = lb_driver.create_listener(listener)

            lb_driver.apply_changes()

        return Listener.from_dict(db_model.to_dict())
    def test_delete_not_found(self):
        driver.LB_DRIVER().delete_listener = MOCK_NOT_FOUND

        resp = self.app.delete('/v1/listeners/123', expect_errors=True)

        self.assertEqual(404, resp.status_int)
    def test_delete(self):
        driver.LB_DRIVER().delete_listener = MOCK_DELETE

        resp = self.app.delete('/v1/listeners/123')

        self.assertEqual(204, resp.status_int)