コード例 #1
0
    def test_update_project_limits(self):
        tenant = doubles.make(self.mox,
                              doubles.Tenant,
                              id=self.tenant_id,
                              name='old name',
                              description='old description')
        gb = 1024 * 1024 * 1024
        params = {
            u'cpus-limit': 13,
            u'ram-limit': 11 * gb,
            u'instances-limit': 8
        }

        self.fake_client_set.identity_admin \
            .tenants.get(self.tenant_id).AndReturn(tenant)
        self.fake_client_set.compute.quotas.update(self.tenant_id,
                                                   instances=8,
                                                   ram=11 * 1024,
                                                   cores=13)

        projects._network_for_project(self.tenant_id).AndReturn('NET')
        projects._quotaset_for_project(self.tenant_id).AndReturn('QUOTA')
        projects._project_to_view(tenant, 'NET', 'QUOTA')\
                .AndReturn('UPDATED')

        self.mox.ReplayAll()
        data = self.interact(params)
        self.assertEquals(data, 'UPDATED')
コード例 #2
0
    def test_get_project(self):
        tenant = doubles.make(self.mox, doubles.Tenant,
                              name=u'name', id=u'pid')

        self.tm_mock.find(id=u'pid').AndReturn(tenant)
        projects._quotaset_for_project(u'pid').AndReturn('QUOTA')
        projects._network_for_project(u'pid').AndReturn('FAKE_NETWORK')
        projects._project_to_view(tenant, 'FAKE_NETWORK', 'QUOTA') \
                .AndReturn('FAKE_PROJECT')

        self.mox.ReplayAll()

        rv = self.client.get('/v1/projects/pid')
        data = self.check_and_parse_response(rv)
        self.assertEquals(data, 'FAKE_PROJECT')
コード例 #3
0
    def test_get_project(self):
        tenant = doubles.make(self.mox,
                              doubles.Tenant,
                              name=u'name',
                              id=u'pid')

        self.tm_mock.find(id=u'pid').AndReturn(tenant)
        projects._quotaset_for_project(u'pid').AndReturn('QUOTA')
        projects._network_for_project(u'pid').AndReturn('FAKE_NETWORK')
        projects._project_to_view(tenant, 'FAKE_NETWORK', 'QUOTA') \
                .AndReturn('FAKE_PROJECT')

        self.mox.ReplayAll()

        rv = self.client.get('/v1/projects/pid')
        data = self.check_and_parse_response(rv)
        self.assertEquals(data, 'FAKE_PROJECT')
コード例 #4
0
    def test_no_network_for_project(self):
        self.fake_client_set.compute.networks.list().AndReturn([])
        self.mox.ReplayAll()

        with self.app.test_request_context():
            self.install_fake_auth()
            result = projects._network_for_project(u'pid2')
        self.assertEquals(result, None)
コード例 #5
0
    def test_no_network_for_project(self):
        self.fake_client_set.compute.networks.list().AndReturn([])
        self.mox.ReplayAll()

        with self.app.test_request_context():
            self.install_fake_auth()
            result = projects._network_for_project(u'pid2')
        self.assertEquals(result, None)
コード例 #6
0
    def test_update_project_updates(self):
        tenant = doubles.make(self.mox, doubles.Tenant,
                              id=self.tenant_id, name='old name',
                              description='old description')

        updated = doubles.make(self.mox, doubles.Tenant,
                               id=self.tenant_id, name='old name',
                               description='new description')

        self.fake_client_set.identity_admin \
            .tenants.get(self.tenant_id).AndReturn(tenant)
        tenant.update(description=updated.description).AndReturn(updated)
        projects._network_for_project(self.tenant_id).AndReturn('NET')
        projects._quotaset_for_project(self.tenant_id).AndReturn('QUOTA')
        projects._project_to_view(updated, 'NET', 'QUOTA')\
                .AndReturn('UPDATED')

        self.mox.ReplayAll()
        data = self.interact({'description': updated.description})
        self.assertEquals(data, 'UPDATED')
コード例 #7
0
    def test_update_project_updates(self):
        tenant = doubles.make(self.mox,
                              doubles.Tenant,
                              id=self.tenant_id,
                              name='old name',
                              description='old description')

        updated = doubles.make(self.mox,
                               doubles.Tenant,
                               id=self.tenant_id,
                               name='old name',
                               description='new description')

        self.fake_client_set.identity_admin \
            .tenants.get(self.tenant_id).AndReturn(tenant)
        tenant.update(description=updated.description).AndReturn(updated)
        projects._network_for_project(self.tenant_id).AndReturn('NET')
        projects._quotaset_for_project(self.tenant_id).AndReturn('QUOTA')
        projects._project_to_view(updated, 'NET', 'QUOTA')\
                .AndReturn('UPDATED')

        self.mox.ReplayAll()
        data = self.interact({'description': updated.description})
        self.assertEquals(data, 'UPDATED')
コード例 #8
0
    def test_network_for_project(self):
        def net(**kwargs):
            return doubles.make(self.mox, doubles.Network, **kwargs)

        nets = (net(label=u'net1', id=u'netid1', project_id=u'pid1'),
                net(label=u'net2', id=u'netid2', project_id=u'pid2'),
                net(label=u'net3', id=u'netid3', project_id=u'pid3'))

        self.fake_client_set.compute.networks.list().AndReturn(nets)
        self.mox.ReplayAll()

        with self.app.test_request_context():
            self.install_fake_auth()
            result = projects._network_for_project(u'pid2')
        self.assertEquals(result, nets[1])
コード例 #9
0
    def test_update_project_limits(self):
        tenant = doubles.make(self.mox, doubles.Tenant,
                              id=self.tenant_id, name='old name',
                              description='old description')
        gb = 1024 * 1024 * 1024
        params = {
            u'cpus-limit': 13,
            u'ram-limit': 11 * gb,
            u'instances-limit': 8
        }

        self.fake_client_set.identity_admin \
            .tenants.get(self.tenant_id).AndReturn(tenant)
        self.fake_client_set.compute.quotas.update(self.tenant_id,
            instances=8, ram=11 * 1024, cores=13)

        projects._network_for_project(self.tenant_id).AndReturn('NET')
        projects._quotaset_for_project(self.tenant_id).AndReturn('QUOTA')
        projects._project_to_view(tenant, 'NET', 'QUOTA')\
                .AndReturn('UPDATED')

        self.mox.ReplayAll()
        data = self.interact(params)
        self.assertEquals(data, 'UPDATED')
コード例 #10
0
    def test_network_for_project(self):
        def net(**kwargs):
            return doubles.make(self.mox, doubles.Network, **kwargs)

        nets = (net(label=u'net1', id=u'netid1', project_id=u'pid1'),
                net(label=u'net2', id=u'netid2', project_id=u'pid2'),
                net(label=u'net3', id=u'netid3', project_id=u'pid3'))

        self.fake_client_set.compute.networks.list().AndReturn(nets)
        self.mox.ReplayAll()

        with self.app.test_request_context():
            self.install_fake_auth()
            result = projects._network_for_project(u'pid2')
        self.assertEquals(result, nets[1])