def test_add_failure(self): compute = self.fake_client_set.compute tcs = mock_client_set(self.mox) compute.servers.get(self.server.id).AndReturn(self.server) compute.security_groups.get(self.sg_id).AndReturn(self.sg) ifwrs.client_set_for_tenant(self.server.tenant_id, fallback_to_api=True) \ .AndReturn(tcs) tcs.compute.servers.add_security_group(self.server, self.sg.name)\ .AndRaise(osc_exc.BadRequest('failure')) self.mox.ReplayAll() self.interact(expected_status_code=400)
def test_add_works(self): compute = self.fake_client_set.compute tcs = mock_client_set(self.mox) compute.servers.get(self.server.id).AndReturn(self.server) compute.security_groups.get(self.sg_id).AndReturn(self.sg) ifwrs.client_set_for_tenant(self.server.tenant_id, fallback_to_api=True) \ .AndReturn(tcs) tcs.compute.servers.add_security_group(self.server, self.sg.name) ifwrs.link_for_security_group(self.sg).AndReturn('REPLY') self.mox.ReplayAll() data = self.interact() self.assertEquals(data, 'REPLY')
def test_remove_works(self): compute = self.fake_client_set.compute compute.servers.get(self.server.id).AndReturn(self.server) compute.security_groups._list( '/servers/%s/os-security-groups' % self.server.id, 'security_groups').AndReturn([self.sg]) ifwrs.assert_admin_or_project_user( u'FWPROJECT', eperm_status=404) ifwrs.client_set_for_tenant(u'FWPROJECT', fallback_to_api=True) \ .AndReturn(self.tcs) self.tcs.compute.servers.remove_security_group( self.server, self.sg.name) self.mox.ReplayAll() self.interact()
def test_remove_other_failure(self): compute = self.fake_client_set.compute self.mox.StubOutWithMock(ifwrs, '_find_sg_on_server') compute.servers.get(self.server.id).AndReturn(self.server) ifwrs._find_sg_on_server(self.server.id, self.sg_id) \ .AndReturn(self.sg) ifwrs.client_set_for_tenant(u'FWPROJECT', fallback_to_api=True) \ .AndReturn(self.tcs) self.tcs.compute.servers.remove_security_group( self.server, self.sg.name) \ .AndRaise(osc_exc.HttpException('something happened')) ifwrs._find_sg_on_server(self.server.id, self.sg_id) \ .AndReturn(self.sg) self.mox.ReplayAll() data = self.interact(expected_status_code=500) self.assertTrue('something happened' in data.get('message', ''), 'Unexpected message: %s' % data.get('message'))