Beispiel #1
0
    def test_multiple_process_pre_conditions(self):
        hello1 = self.container.spawn_process('hello_service1','examples.service.hello_service','HelloService' )
        self.addCleanup(self.container.terminate_process, hello1)

        hello2 = self.container.spawn_process('hello_service2','examples.service.hello_service','HelloService' )
        self.addCleanup(self.container.terminate_process, hello2)

        hello3 = self.container.spawn_process('hello_service3','examples.service.hello_service','HelloService' )
        #self.addCleanup(self.container.terminate_process, hello3)

        client = HelloServiceProcessClient(node=self.container.node, process=self.gov_client)

        actor_id='anonymous'
        text='mytext 123'

        actor_headers = get_actor_header(actor_id)
        ret = client.hello(text, headers=actor_headers)
        self.assertIn(text, ret)

        with self.assertRaises(Unauthorized) as cm:
            ret = client.noop(text=text)
        self.assertIn('The noop operation has been denied', cm.exception.message)

        self.container.terminate_process(hello3)

        with self.assertRaises(Unauthorized) as cm:
            ret = client.noop(text=text)
        self.assertIn('The noop operation has been denied', cm.exception.message)
Beispiel #2
0
def hello_noop(container, actor_id='anonymous', text='mytext 123'):

    try:
        client = HelloServiceProcessClient(node=container.node,
                                           process=FakeProcess())

        actor_headers = get_actor_header(actor_id)
        ret = client.noop(text, headers=actor_headers)

    except Exception, e:
        print "client.hello() failed: " + e.message
Beispiel #3
0
def hello_noop(container, actor_id='anonymous', text='mytext 123'):


    try:
        client = HelloServiceProcessClient(node=container.node, process=FakeProcess())

        actor_headers = get_actor_header(actor_id)
        ret = client.noop(text, headers=actor_headers)

    except Exception ,e:
        print "client.hello() failed: " + e.message
Beispiel #4
0
def hello_client(container, actor_id='anonymous', text='mytext 123'):

    try:
        client = HelloServiceProcessClient(node=container.node, process=FakeProcess())

        actor_headers = get_actor_header(actor_id)
        ret = client.hello(text, headers=actor_headers)
        print "Returned: " + str(ret)

        ret = client.hello('second message text', headers=actor_headers)
        print "Returned: " + str(ret)

        ret = client.noop(text='third message text', headers=actor_headers)
        print "Returned"

    except Exception as e:
        print "client.hello() failed: " + e.message
Beispiel #5
0
def hello_client(container, actor_id='anonymous', text='mytext 123'):

    try:
        client = HelloServiceProcessClient(node=container.node,
                                           process=FakeProcess())

        actor_headers = get_actor_header(actor_id)
        ret = client.hello(text, headers=actor_headers)
        print "Returned: " + str(ret)

        ret = client.hello('second message text', headers=actor_headers)
        print "Returned: " + str(ret)

        ret = client.noop(text='third message text', headers=actor_headers)
        print "Returned"

    except Exception as e:
        print "client.hello() failed: " + e.message
Beispiel #6
0
    def test_multiple_process_pre_conditions(self):
        hello1 = self.container.spawn_process(
            'hello_service1', 'ion.service.examples.hello_service',
            'HelloService')
        self.addCleanup(self.container.terminate_process, hello1)

        hello2 = self.container.spawn_process(
            'hello_service2', 'ion.service.examples.hello_service',
            'HelloService')
        self.addCleanup(self.container.terminate_process, hello2)

        hello3 = self.container.spawn_process(
            'hello_service3', 'ion.service.examples.hello_service',
            'HelloService')
        #self.addCleanup(self.container.terminate_process, hello3)

        client = HelloServiceProcessClient(process=self.gov_client)

        actor_id = 'anonymous'
        text = 'mytext 123'

        actor_headers = get_actor_header(actor_id)
        ret = client.hello(text, headers=actor_headers)
        self.assertIn(text, ret)

        with self.assertRaises(Unauthorized) as cm:
            ret = client.noop(text=text)
        self.assertIn('The noop operation has been denied',
                      cm.exception.message)

        self.container.terminate_process(hello3)

        with self.assertRaises(Unauthorized) as cm:
            ret = client.noop(text=text)
        self.assertIn('The noop operation has been denied',
                      cm.exception.message)
Beispiel #7
0
    def test_get_actor_header(self):

        #Setup data
        actor = IonObject(RT.ActorIdentity, name='actor1')
        actor_id, _ = self.rr.create(actor)

        ion_org = IonObject(RT.Org, name='ION', org_governance_name='ION')
        ion_org_id, _ = self.rr.create(ion_org)
        ion_org._id = ion_org_id

        manager_role = IonObject(RT.UserRole, name='Org Manager', governance_name=ORG_MANAGER_ROLE, description='Org Manager')
        manager_role_id = self.add_user_role(ion_org, manager_role)

        member_role = IonObject(RT.UserRole, name='Org Member', governance_name=ORG_MEMBER_ROLE, description='Org Member')


        # all actors have a defaul org_member_role
        actor_roles = find_roles_by_actor(actor_id)
        self.assertDictEqual(actor_roles, {'ION': [ORG_MEMBER_ROLE]})

        actor_header = get_actor_header(actor_id)
        self.assertDictEqual(actor_header, {'ion-actor-id': actor_id, 'ion-actor-roles': {'ION': [ORG_MEMBER_ROLE]}})

        #Add Org Manager Role
        self.rr.create_association(actor_id, PRED.hasRole, manager_role_id)

        actor_roles = find_roles_by_actor(actor_id)
        role_header = get_role_message_headers({'ION': [manager_role, member_role]})
        self.assertDictEqual(actor_roles, role_header)

        org2 = IonObject(RT.Org, name='Org 2', org_governance_name='Second_Org')

        org2_id, _ = self.rr.create(org2)
        org2._id = org2_id


        member2_role = IonObject(RT.UserRole, governance_name=ORG_MEMBER_ROLE, name='Org Member', description='Org Member')
        member2_role_id = self.add_user_role(org2, member2_role)

        operator2_role = IonObject(RT.UserRole, governance_name='INSTRUMENT_OPERATOR', name='Instrument Operator',
                                   description='Instrument Operator')
        operator2_role_id = self.add_user_role(org2, operator2_role)

        self.rr.create_association(actor_id, PRED.hasRole, member2_role_id)

        self.rr.create_association(actor_id, PRED.hasRole, operator2_role_id)

        actor_roles = find_roles_by_actor(actor_id)

        role_header = get_role_message_headers({'ION': [manager_role, member_role], 'Second_Org': [operator2_role, member2_role]})

        self.assertEqual(len(actor_roles), 2)
        self.assertEqual(len(role_header), 2)
        self.assertIn('Second_Org', actor_roles)
        self.assertIn('Second_Org', role_header)
        self.assertEqual(len(actor_roles['Second_Org']), 2)
        self.assertEqual(len(role_header['Second_Org']), 2)
        self.assertIn('INSTRUMENT_OPERATOR', actor_roles['Second_Org'])
        self.assertIn('INSTRUMENT_OPERATOR', role_header['Second_Org'])
        self.assertIn(ORG_MEMBER_ROLE, actor_roles['Second_Org'])
        self.assertIn(ORG_MEMBER_ROLE, role_header['Second_Org'])
        self.assertIn('ION', actor_roles)
        self.assertIn('ION', role_header)
        self.assertIn(ORG_MANAGER_ROLE, actor_roles['ION'])
        self.assertIn(ORG_MEMBER_ROLE, actor_roles['ION'])
        self.assertIn(ORG_MANAGER_ROLE, role_header['ION'])
        self.assertIn(ORG_MEMBER_ROLE, role_header['ION'])

        actor_header = get_actor_header(actor_id)

        self.assertEqual(actor_header['ion-actor-id'], actor_id)
        self.assertEqual(actor_header['ion-actor-roles'], actor_roles)

        #Now make sure we can change the name of the Org and not affect the headers
        org2 = self.rr.read(org2_id)
        org2.name = 'Updated Org 2'
        org2_id, _ = self.rr.update(org2)

        actor_roles = find_roles_by_actor(actor_id)

        self.assertEqual(len(actor_roles), 2)
        self.assertEqual(len(role_header), 2)
        self.assertIn('Second_Org', actor_roles)
        self.assertIn('Second_Org', role_header)
        self.assertEqual(len(actor_roles['Second_Org']), 2)
        self.assertEqual(len(role_header['Second_Org']), 2)
        self.assertIn('INSTRUMENT_OPERATOR', actor_roles['Second_Org'])
        self.assertIn('INSTRUMENT_OPERATOR', role_header['Second_Org'])
        self.assertIn(ORG_MEMBER_ROLE, actor_roles['Second_Org'])
        self.assertIn(ORG_MEMBER_ROLE, role_header['Second_Org'])
        self.assertIn('ION', actor_roles)
        self.assertIn('ION', role_header)
        self.assertIn(ORG_MANAGER_ROLE, actor_roles['ION'])
        self.assertIn(ORG_MEMBER_ROLE, actor_roles['ION'])
        self.assertIn(ORG_MANAGER_ROLE, role_header['ION'])
        self.assertIn(ORG_MEMBER_ROLE, role_header['ION'])

        actor_header = get_actor_header(actor_id)

        self.assertEqual(actor_header['ion-actor-id'], actor_id)
        self.assertEqual(actor_header['ion-actor-roles'], actor_roles)
    def test_observatory_org_extended(self):

        stuff = self._make_associations()

        parsed_pdict_id = self.dataset_management.read_parameter_dictionary_by_name('ctd_parsed_param_dict',
                                                                                    id_only=True)

        parsed_stream_def_id = self.pubsubcli.create_stream_definition(name='parsed',
                                                                       parameter_dictionary_id=parsed_pdict_id)
        tdom, sdom = time_series_domain()
        sdom = sdom.dump()
        tdom = tdom.dump()
        dp_obj = IonObject(RT.DataProduct,
            name='the parsed data',
            description='ctd stream test',
            temporal_domain = tdom,
            spatial_domain = sdom)


        data_product_id1 = self.dpclient.create_data_product(data_product=dp_obj,
                                                             stream_definition_id=parsed_stream_def_id)
        self.damsclient.assign_data_product(input_resource_id=stuff.instrument_device_id,
                                            data_product_id=data_product_id1)


        #Create a  user to be used as regular member
        member_actor_obj = IonObject(RT.ActorIdentity, name='org member actor')
        member_actor_id,_ = self.RR.create(member_actor_obj)
        assert(member_actor_id)
        member_actor_header = get_actor_header(member_actor_id)


        member_user_obj = IonObject(RT.UserInfo, name='org member user')
        member_user_id,_ = self.RR.create(member_user_obj)
        assert(member_user_id)

        self.RR.create_association(subject=member_actor_id, predicate=PRED.hasInfo, object=member_user_id)


        #Build the Service Agreement Proposal to enroll a user actor
        sap = IonObject(OT.EnrollmentProposal,consumer=member_actor_id, provider=stuff.org_id )

        sap_response = self.org_management_service.negotiate(sap, headers=member_actor_header )

        #enroll the member without using negotiation
        self.org_management_service.enroll_member(org_id=stuff.org_id, actor_id=member_actor_id)

        #--------------------------------------------------------------------------------
        # Get the extended Site (platformSite)
        #--------------------------------------------------------------------------------


        try:
            extended_site = self.OMS.get_site_extension(stuff.platform_site_id)
        except:
            log.error('failed to get extended site', exc_info=True)
            raise
        log.debug("extended_site:  %r ", extended_site)
        self.assertEqual(1, len(extended_site.platform_devices))
        self.assertEqual(1, len(extended_site.platform_models))
        self.assertEqual(stuff.platform_device_id, extended_site.platform_devices[0]._id)
        self.assertEqual(stuff.platform_model_id, extended_site.platform_models[0]._id)

        log.debug("verify that PlatformDeviceb is linked to PlatformDevice with hasNetworkParent link")
        associations = self.RR.find_associations(subject=stuff.platform_deviceb_id, predicate=PRED.hasNetworkParent, object=stuff.platform_device_id, id_only=True)
        self.assertIsNotNone(associations, "PlatformDevice child not connected to PlatformDevice parent.")


        #--------------------------------------------------------------------------------
        # Get the extended Org
        #--------------------------------------------------------------------------------
        #test the extended resource
        extended_org = self.OMS.get_marine_facility_extension(stuff.org_id)
        log.debug("test_observatory_org_extended: extended_org:  %s ", str(extended_org))
        #self.assertEqual(2, len(extended_org.instruments_deployed) )
        #self.assertEqual(1, len(extended_org.platforms_not_deployed) )
        self.assertEqual(2, extended_org.number_of_platforms)
        self.assertEqual(2, len(extended_org.platform_models) )

        self.assertEqual(2, extended_org.number_of_instruments)
        self.assertEqual(2, len(extended_org.instrument_models) )

        self.assertEqual(1, len(extended_org.members))
        self.assertNotEqual(extended_org.members[0]._id, member_actor_id)
        self.assertEqual(extended_org.members[0]._id, member_user_id)

        self.assertEqual(1, len(extended_org.open_requests))

        self.assertTrue(len(extended_site.deployments)>0)
        self.assertEqual(len(extended_site.deployments), len(extended_site.deployment_info))

        #test the extended resource of the ION org
        ion_org_id = self.org_management_service.find_org()
        extended_org = self.OMS.get_marine_facility_extension(ion_org_id._id, user_id=12345)
        log.debug("test_observatory_org_extended: extended_ION_org:  %s ", str(extended_org))
        self.assertEqual(1, len(extended_org.members))
        self.assertEqual(0, extended_org.number_of_platforms)
        #self.assertEqual(1, len(extended_org.sites))


        #--------------------------------------------------------------------------------
        # Get the extended Site
        #--------------------------------------------------------------------------------

        #create device state events to use for op /non-op filtering in extended
        t = get_ion_ts()
        self.event_publisher.publish_event(  ts_created= t,  event_type = 'ResourceAgentStateEvent',
            origin = stuff.instrument_device_id, state=ResourceAgentState.STREAMING  )

        self.event_publisher.publish_event( ts_created= t,   event_type = 'ResourceAgentStateEvent',
            origin = stuff.instrument_device2_id, state=ResourceAgentState.INACTIVE )
        extended_site =  self.OMS.get_site_extension(stuff.instrument_site2_id)


        log.debug("test_observatory_org_extended: extended_site:  %s ", str(extended_site))

        self.dpclient.delete_data_product(data_product_id1)
Beispiel #9
0
    def test_get_actor_header(self):

        #Setup data
        actor = IonObject(RT.ActorIdentity, name='actor1')
        actor_id, _ = self.rr.create(actor)

        ion_org = IonObject(RT.Org, name='ION', org_governance_name='ION')
        ion_org_id, _ = self.rr.create(ion_org)
        ion_org._id = ion_org_id

        manager_role = IonObject(RT.UserRole,
                                 name='Org Manager',
                                 governance_name=MODERATOR_ROLE,
                                 description='Org Manager')
        manager_role_id = self.add_org_role(ion_org, manager_role)

        member_role = IonObject(RT.UserRole,
                                name='Org Member',
                                governance_name=MEMBER_ROLE,
                                description='Org Member')

        # all actors have a defaul MEMBER_ROLE
        actor_roles = find_roles_by_actor(actor_id)
        self.assertDictEqual(actor_roles, {'ION': [MEMBER_ROLE]})

        actor_header = get_actor_header(actor_id)
        self.assertDictEqual(actor_header, {
            'ion-actor-id': actor_id,
            'ion-actor-roles': {
                'ION': [MEMBER_ROLE]
            }
        })

        #Add Org Manager Role
        self.rr.create_association(actor_id, PRED.hasRole, manager_role_id)

        actor_roles = find_roles_by_actor(actor_id)
        role_header = get_role_message_headers(
            {'ION': [manager_role, member_role]})
        self.assertDictEqual(actor_roles, role_header)

        org2 = IonObject(RT.Org,
                         name='Org 2',
                         org_governance_name='Second_Org')

        org2_id, _ = self.rr.create(org2)
        org2._id = org2_id

        member2_role = IonObject(RT.UserRole,
                                 governance_name=MEMBER_ROLE,
                                 name='Org Member',
                                 description='Org Member')
        member2_role_id = self.add_org_role(org2, member2_role)

        operator2_role = IonObject(RT.UserRole,
                                   governance_name='OPERATOR',
                                   name='Instrument Operator',
                                   description='Instrument Operator')
        operator2_role_id = self.add_org_role(org2, operator2_role)

        self.rr.create_association(actor_id, PRED.hasRole, member2_role_id)

        self.rr.create_association(actor_id, PRED.hasRole, operator2_role_id)

        actor_roles = find_roles_by_actor(actor_id)

        role_header = get_role_message_headers({
            'ION': [manager_role, member_role],
            'Second_Org': [operator2_role, member2_role]
        })

        self.assertEqual(len(actor_roles), 2)
        self.assertEqual(len(role_header), 2)
        self.assertIn('Second_Org', actor_roles)
        self.assertIn('Second_Org', role_header)
        self.assertEqual(len(actor_roles['Second_Org']), 2)
        self.assertEqual(len(role_header['Second_Org']), 2)
        self.assertIn('OPERATOR', actor_roles['Second_Org'])
        self.assertIn('OPERATOR', role_header['Second_Org'])
        self.assertIn(MEMBER_ROLE, actor_roles['Second_Org'])
        self.assertIn(MEMBER_ROLE, role_header['Second_Org'])
        self.assertIn('ION', actor_roles)
        self.assertIn('ION', role_header)
        self.assertIn(MODERATOR_ROLE, actor_roles['ION'])
        self.assertIn(MEMBER_ROLE, actor_roles['ION'])
        self.assertIn(MODERATOR_ROLE, role_header['ION'])
        self.assertIn(MEMBER_ROLE, role_header['ION'])

        actor_header = get_actor_header(actor_id)

        self.assertEqual(actor_header['ion-actor-id'], actor_id)
        self.assertEqual(actor_header['ion-actor-roles'], actor_roles)

        #Now make sure we can change the name of the Org and not affect the headers
        org2 = self.rr.read(org2_id)
        org2.name = 'Updated Org 2'
        org2_id, _ = self.rr.update(org2)

        actor_roles = find_roles_by_actor(actor_id)

        self.assertEqual(len(actor_roles), 2)
        self.assertEqual(len(role_header), 2)
        self.assertIn('Second_Org', actor_roles)
        self.assertIn('Second_Org', role_header)
        self.assertEqual(len(actor_roles['Second_Org']), 2)
        self.assertEqual(len(role_header['Second_Org']), 2)
        self.assertIn('OPERATOR', actor_roles['Second_Org'])
        self.assertIn('OPERATOR', role_header['Second_Org'])
        self.assertIn(MEMBER_ROLE, actor_roles['Second_Org'])
        self.assertIn(MEMBER_ROLE, role_header['Second_Org'])
        self.assertIn('ION', actor_roles)
        self.assertIn('ION', role_header)
        self.assertIn(MODERATOR_ROLE, actor_roles['ION'])
        self.assertIn(MEMBER_ROLE, actor_roles['ION'])
        self.assertIn(MODERATOR_ROLE, role_header['ION'])
        self.assertIn(MEMBER_ROLE, role_header['ION'])

        actor_header = get_actor_header(actor_id)

        self.assertEqual(actor_header['ion-actor-id'], actor_id)
        self.assertEqual(actor_header['ion-actor-roles'], actor_roles)
Beispiel #10
0
    def test_observatory_org_extended(self):
        self.patch_cfg(CFG["container"],
                       {"extended_resources": {
                           "strip_results": False
                       }})

        stuff = self._make_associations()

        parsed_pdict_id = self.dataset_management.read_parameter_dictionary_by_name(
            'ctd_parsed_param_dict', id_only=True)

        parsed_stream_def_id = self.pubsubcli.create_stream_definition(
            name='parsed', parameter_dictionary_id=parsed_pdict_id)
        dp_obj = IonObject(RT.DataProduct,
                           name='the parsed data',
                           description='ctd stream test')

        data_product_id1 = self.dpclient.create_data_product(
            data_product=dp_obj, stream_definition_id=parsed_stream_def_id)
        self.damsclient.assign_data_product(
            input_resource_id=stuff.instrument_device_id,
            data_product_id=data_product_id1)

        #Create a  user to be used as regular member
        member_actor_obj = IonObject(RT.ActorIdentity, name='org member actor')
        member_actor_id, _ = self.RR.create(member_actor_obj)
        assert (member_actor_id)
        member_actor_header = get_actor_header(member_actor_id)

        member_user_obj = IonObject(RT.UserInfo, name='org member user')
        member_user_id, _ = self.RR.create(member_user_obj)
        assert (member_user_id)

        self.RR.create_association(subject=member_actor_id,
                                   predicate=PRED.hasInfo,
                                   object=member_user_id)

        #Build the Service Agreement Proposal to enroll a user actor
        sap = IonObject(OT.EnrollmentProposal,
                        consumer=member_actor_id,
                        provider=stuff.org_id)

        sap_response = self.org_management_service.negotiate(
            sap, headers=member_actor_header)

        #enroll the member without using negotiation
        self.org_management_service.enroll_member(org_id=stuff.org_id,
                                                  actor_id=member_actor_id)

        #--------------------------------------------------------------------------------
        # Get the extended Site (platformSite)
        #--------------------------------------------------------------------------------

        try:
            extended_site = self.OMS.get_site_extension(stuff.platform_site_id)
        except:
            log.error('failed to get extended site', exc_info=True)
            raise
        log.debug("extended_site:  %r ", extended_site)
        self.assertEquals(stuff.subsiteb_id, extended_site.parent_site._id)
        self.assertEqual(2, len(extended_site.sites))
        self.assertEqual(2, len(extended_site.platform_devices))
        self.assertEqual(2, len(extended_site.platform_models))
        self.assertIn(stuff.platform_device_id,
                      [o._id for o in extended_site.platform_devices])
        self.assertIn(
            stuff.platform_model_id,
            [o._id for o in extended_site.platform_models if o is not None])

        log.debug(
            "verify that PlatformDeviceb is linked to PlatformDevice with hasNetworkParent link"
        )
        associations = self.RR.find_associations(
            subject=stuff.platform_deviceb_id,
            predicate=PRED.hasNetworkParent,
            object=stuff.platform_device_id,
            id_only=True)
        self.assertIsNotNone(
            associations,
            "PlatformDevice child not connected to PlatformDevice parent.")

        #--------------------------------------------------------------------------------
        # Get the extended Org
        #--------------------------------------------------------------------------------
        #test the extended resource
        extended_org = self.OMS.get_marine_facility_extension(stuff.org_id)
        log.debug("test_observatory_org_extended: extended_org:  %s ",
                  str(extended_org))
        #self.assertEqual(2, len(extended_org.instruments_deployed) )
        #self.assertEqual(1, len(extended_org.platforms_not_deployed) )
        self.assertEqual(2, extended_org.number_of_platforms)
        self.assertEqual(2, len(extended_org.platform_models))

        self.assertEqual(2, extended_org.number_of_instruments)
        self.assertEqual(2, len(extended_org.instrument_models))

        self.assertEqual(1, len(extended_org.members))
        self.assertNotEqual(extended_org.members[0]._id, member_actor_id)
        self.assertEqual(extended_org.members[0]._id, member_user_id)

        self.assertEqual(1, len(extended_org.open_requests))

        self.assertTrue(len(extended_site.deployments) > 0)
        self.assertEqual(len(extended_site.deployments),
                         len(extended_site.deployment_info))

        self.assertEqual(1, extended_org.number_of_assets)
        self.assertEqual(1, extended_org.number_of_asset_types)
        self.assertEqual(1, extended_org.number_of_event_durations)
        self.assertEqual(1, extended_org.number_of_event_duration_types)

        #test the extended resource of the ION org
        ion_org_id = self.org_management_service.find_org()
        extended_org = self.OMS.get_marine_facility_extension(ion_org_id._id,
                                                              user_id=12345)
        log.debug("test_observatory_org_extended: extended_ION_org:  %s ",
                  str(extended_org))
        self.assertEqual(1, len(extended_org.members))
        self.assertEqual(0, extended_org.number_of_platforms)
        #self.assertEqual(1, len(extended_org.sites))

        #--------------------------------------------------------------------------------
        # Get the extended Site
        #--------------------------------------------------------------------------------

        #create device state events to use for op /non-op filtering in extended
        t = get_ion_ts()
        self.event_publisher.publish_event(
            ts_created=t,
            event_type='ResourceAgentStateEvent',
            origin=stuff.instrument_device_id,
            state=ResourceAgentState.STREAMING)

        self.event_publisher.publish_event(
            ts_created=t,
            event_type='ResourceAgentStateEvent',
            origin=stuff.instrument_device2_id,
            state=ResourceAgentState.INACTIVE)
        extended_site = self.OMS.get_site_extension(stuff.instrument_site2_id)

        log.debug("test_observatory_org_extended: extended_site:  %s ",
                  str(extended_site))

        self.dpclient.delete_data_product(data_product_id1)