def setUp(self): # Start container self._start_container() self.container.start_rel_from_url('res/deploy/r2deploy.yml') # Now create client to service self.rr = self.container.resource_registry fp = FakeProcess() self.rms = ResourceManagementServiceProcessClient(process=fp)
class TestResourceManagementServiceInterface(IonIntegrationTestCase): def setUp(self): # Start container self._start_container() self.container.start_rel_from_url('res/deploy/r2deploy.yml') # Now create client to service self.rr = self.container.resource_registry fp = FakeProcess() self.rms = ResourceManagementServiceProcessClient(process=fp) def test_resource_interface(self): rid1,_ = self.rr.create(IonObject('Resource', name='res1')) cap_list = self.rms.get_capabilities(rid1) log.warn("Capabilities: %s", cap_list) self.assertTrue(type(cap_list) is list) get_res = self.rms.get_resource(rid1, params=['object_size']) log.warn("Get result: %s", get_res) self.rms.set_resource(rid1, params={'description': 'NEWDESC'}) res_obj = self.rr.read(rid1) self.assertEquals(res_obj.description, 'NEWDESC') self.rr.delete(rid1) # Test CRUD with self.assertRaises(BadRequest): self.rms.create_resource(IonObject('StreamConfiguration', stream_name='res2')) rid2 = self.rms.create_resource(IonObject('Resource', name='res2')) res_obj = self.rr.read(rid2) self.assertEquals(res_obj.name, 'res2') with self.assertRaises(BadRequest): self.rms.update_resource(IonObject('StreamConfiguration', stream_name='res2')) res_obj.description = 'DESC2' self.rms.update_resource(res_obj) res_obj = self.rr.read(rid2) self.assertEquals(res_obj.description, 'DESC2') res_obj2 = self.rms.read_resource(rid2) self.assertEquals(res_obj.description, res_obj2.description) with self.assertRaises(BadRequest): self.rms.get_resource_state(rid2) with self.assertRaises(BadRequest): self.rms.ping_resource(rid2) with self.assertRaises(BadRequest): self.rms.get_agent(rid2) with self.assertRaises(BadRequest): self.rms.get_agent_state(rid2) self.rms.delete_resource(rid2) rid3,_ = self.rr.create(IonObject('InstrumentAgent', name='res3')) rid3_r = self.rr.read(rid3) self.assertEquals(rid3_r.lcstate, "DRAFT") self.assertEquals(rid3_r.availability, "PRIVATE") self.rms.execute_lifecycle_transition(rid3, "plan") rid3_r = self.rr.read(rid3) self.assertEquals(rid3_r.lcstate, "PLANNED") self.assertEquals(rid3_r.availability, "PRIVATE")
class TestResourceManagementServiceInterface(IonIntegrationTestCase): def setUp(self): # Start container self._start_container() self.container.start_rel_from_url('res/deploy/r2deploy.yml') # Now create client to service self.rr = self.container.resource_registry fp = FakeProcess() self.rms = ResourceManagementServiceProcessClient(process=fp) def test_resource_interface(self): rid1, _ = self.rr.create(IonObject('Resource', name='res1')) cap_list = self.rms.get_capabilities(rid1) log.warn("Capabilities: %s", cap_list) self.assertTrue(type(cap_list) is list) get_res = self.rms.get_resource(rid1, params=['object_size']) log.warn("Get result: %s", get_res) self.rms.set_resource(rid1, params={'description': 'NEWDESC'}) res_obj = self.rr.read(rid1) self.assertEquals(res_obj.description, 'NEWDESC') self.rr.delete(rid1) # Test CRUD with self.assertRaises(BadRequest): self.rms.create_resource( IonObject('StreamConfiguration', stream_name='res2')) rid2 = self.rms.create_resource(IonObject('Resource', name='res2')) res_obj = self.rr.read(rid2) self.assertEquals(res_obj.name, 'res2') with self.assertRaises(BadRequest): self.rms.update_resource( IonObject('StreamConfiguration', stream_name='res2')) res_obj.description = 'DESC2' self.rms.update_resource(res_obj) res_obj = self.rr.read(rid2) self.assertEquals(res_obj.description, 'DESC2') res_obj2 = self.rms.read_resource(rid2) self.assertEquals(res_obj.description, res_obj2.description) with self.assertRaises(BadRequest): self.rms.get_resource_state(rid2) with self.assertRaises(BadRequest): self.rms.ping_resource(rid2) with self.assertRaises(BadRequest): self.rms.get_agent(rid2) with self.assertRaises(BadRequest): self.rms.get_agent_state(rid2) self.rms.delete_resource(rid2) rid3, _ = self.rr.create(IonObject('InstrumentAgent', name='res3')) rid3_r = self.rr.read(rid3) self.assertEquals(rid3_r.lcstate, "DRAFT") self.assertEquals(rid3_r.availability, "PRIVATE") self.rms.execute_lifecycle_transition(rid3, "plan") rid3_r = self.rr.read(rid3) self.assertEquals(rid3_r.lcstate, "PLANNED") self.assertEquals(rid3_r.availability, "PRIVATE")