示例#1
0
def cli_wcfrelay_create(client,
                        resource_group_name,
                        namespace_name,
                        relay_name,
                        relay_type,
                        requires_client_authorization=None,
                        user_metadata=None):

    from azure.mgmt.relay.models import WcfRelay, Relaytype

    if relay_type is None:
        set_relay_type = Relaytype.net_tcp
    elif relay_type == "Http":
        set_relay_type = Relaytype.http
    else:
        set_relay_type = Relaytype.net_tcp

    wcfrelay_params = WcfRelay(
        relay_type=set_relay_type,
        requires_client_authorization=requires_client_authorization,
        user_metadata=user_metadata)

    return client.create_or_update(resource_group_name=resource_group_name,
                                   namespace_name=namespace_name,
                                   relay_name=relay_name,
                                   parameters=wcfrelay_params)
示例#2
0
def cli_wcfrelay_update(instance, relay_type=None,
                        requires_client_authorization=None, user_metadata=None, status=None):

    from azure.mgmt.relay.models import WcfRelay
    returnobj = WcfRelay(relay_type=instance.relay_type,
                         requires_client_authorization=instance.requires_client_authorization,
                         user_metadata=instance.user_metadata)

    if relay_type:
        returnobj.relay_type = relay_type

    if requires_client_authorization:
        returnobj.requires_client_authorization = requires_client_authorization

    if user_metadata:
        returnobj.user_metadata = user_metadata

    if status:
        returnobj.status = status

    return returnobj
示例#3
0
def cli_wcfrelay_update(instance,
                        relay_type=None,
                        requires_client_authorization=None,
                        user_metadata=None,
                        status=None):

    from azure.mgmt.relay.models import WcfRelay
    returnobj = WcfRelay(
        relay_type=instance.relay_type,
        requires_client_authorization=instance.requires_client_authorization,
        user_metadata=instance.user_metadata)

    if relay_type:
        returnobj.relay_type = relay_type

    if requires_client_authorization:
        returnobj.requires_client_authorization = requires_client_authorization

    if user_metadata:
        returnobj.user_metadata = user_metadata

    if status:
        returnobj.status = status

    return returnobj
示例#4
0
    def test_wcfrelay_curd(self, resource_group, location):

        resource_group_name = resource_group.name

        #Create a Namespace
        namespace_name = "testingpythontestcaseeventhubnamespaceEventhub"

        namespaceparameter = RelayNamespace(location, {
            'tag1': 'value1',
            'tag2': 'value2'
        }, Sku(SkuTier.standard))
        creatednamespace = self.relay_client.namespaces.create_or_update(
            resource_group_name, namespace_name, namespaceparameter).result()
        self.assertEqual(creatednamespace.name, namespace_name)

        #
        # # Get created Namespace
        #
        getnamespaceresponse = self.relay_client.namespaces.get(
            resource_group_name, namespace_name)
        self.assertEqual(getnamespaceresponse.name, namespace_name)

        # Create a WcfRelay
        wcfrelay_name = "testingpythontestcasewcfrelay"
        wcfrelayparameter = WcfRelay(relay_type=Relaytype.net_tcp,
                                     requires_client_authorization=True,
                                     requires_transport_security=True,
                                     user_metadata="User data for WcfRelay")

        createdwcfrelayresponse = self.relay_client.wcf_relays.create_or_update(
            resource_group_name, namespace_name, wcfrelay_name,
            wcfrelayparameter)

        self.assertEqual(createdwcfrelayresponse.name, wcfrelay_name)
        self.assertEqual(createdwcfrelayresponse.requires_client_authorization,
                         True)

        #Get the created wcfRelay
        geteventhubresponse = self.relay_client.wcf_relays.get(
            resource_group_name, namespace_name, wcfrelay_name)
        self.assertEqual(geteventhubresponse.name, wcfrelay_name)
        self.assertEqual(geteventhubresponse.requires_transport_security, True)
        self.assertEqual(geteventhubresponse.user_metadata,
                         "User data for WcfRelay")

        #Get the List of wcfRealy by namespaces
        getlistbynamespacewcfrelayresponse = list(
            self.relay_client.wcf_relays.list_by_namespace(
                resource_group_name, namespace_name))
        self.assertGreater(len(getlistbynamespacewcfrelayresponse), 0)

        # update the Created eventhub

        wcfrelayupdateparameter = WcfRelay(
            relay_type=Relaytype.net_tcp,
            user_metadata="User data for WcfRelay updated")

        updatewcfrelayresponse = self.relay_client.wcf_relays.create_or_update(
            resource_group_name, namespace_name, wcfrelay_name,
            wcfrelayupdateparameter)

        self.assertEqual(updatewcfrelayresponse.name, wcfrelay_name)
        self.assertEqual(updatewcfrelayresponse.requires_transport_security,
                         True)
        self.assertEqual(updatewcfrelayresponse.requires_client_authorization,
                         True)
        self.assertEqual(updatewcfrelayresponse.user_metadata,
                         "User data for WcfRelay updated")

        # Create a new authorizationrule
        authoRule_name = "testingauthrulepy"
        createwcfrelayauthorule = self.relay_client.wcf_relays.create_or_update_authorization_rule(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name,
            [AccessRights('Send'),
             AccessRights('Listen')])
        self.assertEqual(
            createwcfrelayauthorule.name, authoRule_name,
            "Authorization rule name not as created - create_or_update_authorization_rule "
        )
        self.assertEqual(len(createwcfrelayauthorule.rights), 2)

        # Get the created authorizationrule
        getwcfrelayauthorule = self.relay_client.wcf_relays.get_authorization_rule(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name)
        self.assertEqual(
            getwcfrelayauthorule.name, authoRule_name,
            "Authorization rule name not as passed as parameter - get_authorization_rule "
        )
        self.assertEqual(
            len(getwcfrelayauthorule.rights), 2,
            "Access rights mis match as created  - get_authorization_rule ")

        # update the rights of the authorizatiorule
        getwcfrelayauthorule.rights.append('Manage')
        updatewcfrelayauthorule = self.relay_client.wcf_relays.create_or_update_authorization_rule(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name,
            getwcfrelayauthorule.rights)
        self.assertEqual(
            updatewcfrelayauthorule.name, authoRule_name,
            "Authorization rule name not as passed as parameter for update call - create_or_update_authorization_rule "
        )
        self.assertEqual(
            len(updatewcfrelayauthorule.rights), 3,
            "Access rights mis match as updated  - create_or_update_authorization_rule "
        )

        #list all the authorization ruels for the given namespace
        wcfrelayauthorulelist = list(
            self.relay_client.wcf_relays.list_authorization_rules(
                resource_group_name, namespace_name, wcfrelay_name))
        self.assertEqual(
            len(wcfrelayauthorulelist), 1,
            "number of authorization rule mismatch with the created + default = 2 - list_authorization_rules"
        )

        #List keys for the authorization rule
        listkeysauthorizationrule = self.relay_client.wcf_relays.list_keys(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name)
        self.assertIsNotNone(listkeysauthorizationrule)

        # regenerate Keys for authorizationrule - Primary
        regenratePrimarykeyauthorizationrule = self.relay_client.wcf_relays.regenerate_keys(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name,
            'PrimaryKey')
        self.assertNotEqual(listkeysauthorizationrule.primary_key,
                            regenratePrimarykeyauthorizationrule.primary_key)

        # regenerate Keys for authorizationrule - Primary
        regenrateSecondarykeyauthorizationrule = self.relay_client.wcf_relays.regenerate_keys(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name,
            'SecondaryKey')
        self.assertNotEqual(
            listkeysauthorizationrule.secondary_key,
            regenrateSecondarykeyauthorizationrule.secondary_key)

        # delete the authorizationrule
        self.relay_client.wcf_relays.delete_authorization_rule(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name)

        # Delete the created WcfRelay
        getwcfrelayresponse = self.relay_client.wcf_relays.delete(
            resource_group_name, namespace_name, wcfrelay_name)

        # Delete the create namespace
        self.relay_client.namespaces.delete(resource_group_name,
                                            namespace_name).result()
示例#5
0
    def test_wcfrelay_curd(self, resource_group, location):

        resource_group_name = resource_group.name

        #Create a Namespace
        namespace_name = "testingpythontestcaseeventhubnamespaceEventhub"

        namespaceparameter = RelayNamespace(location=location,
                                            tags={
                                                'tag1': 'value1',
                                                'tag2': 'value2'
                                            },
                                            sku=Sku(tier="standard"))
        creatednamespace = self.relay_client.namespaces.begin_create_or_update(
            resource_group_name, namespace_name, namespaceparameter).result()
        assert creatednamespace.name == namespace_name

        #
        # # Get created Namespace
        #
        getnamespaceresponse = self.relay_client.namespaces.get(
            resource_group_name, namespace_name)
        assert getnamespaceresponse.name == namespace_name

        # Create a WcfRelay
        wcfrelay_name = "testingpythontestcasewcfrelay"
        wcfrelayparameter = WcfRelay(relay_type=Relaytype.net_tcp,
                                     requires_client_authorization=True,
                                     requires_transport_security=True,
                                     user_metadata="User data for WcfRelay")

        createdwcfrelayresponse = self.relay_client.wcf_relays.create_or_update(
            resource_group_name, namespace_name, wcfrelay_name,
            wcfrelayparameter)

        assert createdwcfrelayresponse.name == wcfrelay_name
        assert createdwcfrelayresponse.requires_client_authorization == True

        #Get the created wcfRelay
        geteventhubresponse = self.relay_client.wcf_relays.get(
            resource_group_name, namespace_name, wcfrelay_name)
        assert geteventhubresponse.name == wcfrelay_name
        assert geteventhubresponse.requires_transport_security == True
        assert geteventhubresponse.user_metadata == "User data for WcfRelay"

        #Get the List of wcfRealy by namespaces
        getlistbynamespacewcfrelayresponse = list(
            self.relay_client.wcf_relays.list_by_namespace(
                resource_group_name, namespace_name))
        assert len(getlistbynamespacewcfrelayresponse) > 0

        # update the Created eventhub
        wcfrelayupdateparameter = WcfRelay(
            relay_type=Relaytype.net_tcp,
            user_metadata="User data for WcfRelay updated")
        updatewcfrelayresponse = self.relay_client.wcf_relays.create_or_update(
            resource_group_name, namespace_name, wcfrelay_name,
            wcfrelayupdateparameter)
        assert updatewcfrelayresponse.name == wcfrelay_name
        assert updatewcfrelayresponse.requires_transport_security == True
        assert updatewcfrelayresponse.requires_client_authorization == True
        assert updatewcfrelayresponse.user_metadata == "User data for WcfRelay updated"

        # Create a new authorizationrule
        authoRule_name = "testingauthrulepy"
        createwcfrelayauthorule = self.relay_client.wcf_relays.create_or_update_authorization_rule(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name,
            {"rights": [AccessRights('Send'),
                        AccessRights('Listen')]})
        assert createwcfrelayauthorule.name, authoRule_name == "Authorization rule name not as created - create_or_update_authorization_rule "
        assert len(createwcfrelayauthorule.rights) == 2

        # Get the created authorizationrule
        getwcfrelayauthorule = self.relay_client.wcf_relays.get_authorization_rule(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name)
        assert getwcfrelayauthorule.name, authoRule_name == "Authorization rule name not as passed as parameter - get_authorization_rule "
        assert len(
            getwcfrelayauthorule.rights
        ), 2 == "Access rights mis match as created  - get_authorization_rule "

        # update the rights of the authorizatiorule
        getwcfrelayauthorule.rights.append('Manage')
        updatewcfrelayauthorule = self.relay_client.wcf_relays.create_or_update_authorization_rule(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name,
            getwcfrelayauthorule)
        assert updatewcfrelayauthorule.name, authoRule_name == "Authorization rule name not as passed as parameter for update call - create_or_update_authorization_rule "
        assert len(
            updatewcfrelayauthorule.rights
        ), 3 == "Access rights mis match as updated  - create_or_update_authorization_rule "

        #list all the authorization ruels for the given namespace
        wcfrelayauthorulelist = list(
            self.relay_client.wcf_relays.list_authorization_rules(
                resource_group_name, namespace_name, wcfrelay_name))
        assert len(
            wcfrelayauthorulelist
        ), 1 == "number of authorization rule mismatch with the created + default = 2 - list_authorization_rules"

        #List keys for the authorization rule
        listkeysauthorizationrule = self.relay_client.wcf_relays.list_keys(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name)
        assert listkeysauthorizationrule is not None

        # regenerate Keys for authorizationrule - Primary
        regenratePrimarykeyauthorizationrule = self.relay_client.wcf_relays.regenerate_keys(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name,
            {"key_type": 'PrimaryKey'})
        assert listkeysauthorizationrule.primary_key != regenratePrimarykeyauthorizationrule.primary_key

        # regenerate Keys for authorizationrule - Primary
        regenrateSecondarykeyauthorizationrule = self.relay_client.wcf_relays.regenerate_keys(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name,
            {"key_type": 'SecondaryKey'})
        assert listkeysauthorizationrule.secondary_key != regenrateSecondarykeyauthorizationrule.secondary_key

        # delete the authorizationrule
        self.relay_client.wcf_relays.delete_authorization_rule(
            resource_group_name, namespace_name, wcfrelay_name, authoRule_name)

        # Delete the created WcfRelay
        getwcfrelayresponse = self.relay_client.wcf_relays.delete(
            resource_group_name, namespace_name, wcfrelay_name)

        # Delete the create namespace
        self.relay_client.namespaces.begin_delete(resource_group_name,
                                                  namespace_name).result()