#self.mock_ionobj = IonObject
        mock_clients = self._create_service_mock('instrument_management')

        self.instrument_mgmt_service = InstrumentManagementService()
        self.instrument_mgmt_service.clients = mock_clients
        
        # must call this manually
        self.instrument_mgmt_service.on_init()

        self.addCleanup(delattr, self, "instrument_mgmt_service")
        self.addCleanup(delattr, self, "mock_ionobj")
        #self.resource_impl_cleanup()

    #def resource_impl_cleanup(self):
        #pass

rim = ResourceImplMetatest(TestInstrumentManagement, InstrumentManagementService, log)
rim.test_all_in_one(True)

rim.add_resource_impl_unittests(InstrumentAgentInstanceImpl, {"exchange_name": "rhubarb"})
rim.add_resource_impl_unittests(InstrumentAgentImpl, {"agent_version": "3", "time_source": "the universe"})
rim.add_resource_impl_unittests(InstrumentDeviceImpl, {"serial_number": "123", "firmware_version": "x"})
rim.add_resource_impl_unittests(InstrumentModelImpl, {"model_label": "redundant?"})
rim.add_resource_impl_unittests(PlatformAgentInstanceImpl, {"exchange_name": "sausage"})
rim.add_resource_impl_unittests(PlatformAgentImpl, {"description": "the big donut"})
rim.add_resource_impl_unittests(PlatformDeviceImpl, {"serial_number": "2345"})
rim.add_resource_impl_unittests(PlatformModelImpl, {"description": "tammy breathed deeply"})
rim.add_resource_impl_unittests(SensorDeviceImpl, {"serial_number": "123"})
rim.add_resource_impl_unittests(SensorModelImpl, {"model_label": "redundant field?"})