示例#1
0
    def test_vlan_service_resolves_first_numeric_when_vlan_id_empty(self):
        vlan_resource_model = VLANAutoResourceModel()
        vlan_resource_model.vlan_id = ""
        vlan_resource_model.isolation_level = "Exclusive"
        vlan_resource_model.virtual_network = ""
        vlan_resource_model.allocation_ranges = "10-100"

        resolved_vlan_info = Mock()
        resolved_vlan_info.VlanId = 10

        api = MagicMock()
        api.GetVlanAutoSelectFirstNumericFromRange = Mock(
            return_value=resolved_vlan_info)

        resolver = VlanResolverProvider(
            vlan_resource_model=vlan_resource_model,
            pool_id="Global",
            reservation_id="c5144273-c456-4885-a9b7-f5b058f02678",
            owner_id="VLAN Auto",
            api=api)

        resolved_vlan = resolver.resolve_vlan_auto()

        api.GetVlanAutoSelectFirstNumericFromRange.assert_called_with(
            "Global", "c5144273-c456-4885-a9b7-f5b058f02678", "VLAN Auto",
            "Exclusive", 10, 100)
        self.assertEquals(resolved_vlan, 10)
    def integrationtest_get_auto_vlan_specific_id(self):

        dev_helpers.attach_to_cloudshell_as(
            "admin", "admin", "Global", "4255fc8b-f964-444d-aa0c-96ae58659a52")

        requested_vlan_id = "24"
        os.environ["RESOURCECONTEXT"] = \
            '{' \
            ' "name":"VLAN Auto", ' \
            ' "address":"Service",' \
            ' "model":"VLAN Auto", ' \
            ' "family":"Virtual Network", ' \
            ' "description":"", ' \
            ' "fullname":"", ' \
            ' "attributes":{"Access Mode":"trunk",' \
                            '"Allocation Ranges":"2-4098",' \
                            '"Isolation Level":"Shared", ' \
                            '"Virtual Network":"", ' \
                            '"VLAN Id":"' + requested_vlan_id + '"}}'

        resource_context = helpers.get_resource_context_details()

        vlan_auto_resource_model = VLANAutoResourceModel()
        vlan_auto_resource_model.access_mode = resource_context.attributes[
            "Access Mode"]
        vlan_auto_resource_model.allocation_ranges = resource_context.attributes[
            "Allocation Ranges"]
        vlan_auto_resource_model.isolation_level = resource_context.attributes[
            "Isolation Level"]
        vlan_auto_resource_model.vlan_id = resource_context.attributes[
            "VLAN Id"]
        vlan_auto_resource_model.virtual_network = resource_context.attributes[
            "Virtual Network"]
        vlan_auto_resource_model.virtual_network_attribute = "Virtual Network"

        # get reservation details
        reservation_details = helpers.get_reservation_context_details()

        # Start api session
        api = helpers.get_api_session()

        vlan_service_provider = VlanResolverProvider(
            vlan_auto_resource_model, reservation_details.domain,
            reservation_details.id, resource_context.name, api)
        vlan_id = vlan_service_provider.resolve_vlan_auto()

        assert (vlan_id, requested_vlan_id)
    def integrationtest_get_auto_vlan_specific_id(self):

        dev_helpers.attach_to_cloudshell_as("admin", "admin", "Global", "4255fc8b-f964-444d-aa0c-96ae58659a52")

        requested_vlan_id = "24"
        os.environ["RESOURCECONTEXT"] = \
            '{' \
            ' "name":"VLAN Auto", ' \
            ' "address":"Service",' \
            ' "model":"VLAN Auto", ' \
            ' "family":"Virtual Network", ' \
            ' "description":"", ' \
            ' "fullname":"", ' \
            ' "attributes":{"Access Mode":"trunk",' \
                            '"Allocation Ranges":"2-4098",' \
                            '"Isolation Level":"Shared", ' \
                            '"Virtual Network":"", ' \
                            '"VLAN Id":"' + requested_vlan_id + '"}}'

        resource_context = helpers.get_resource_context_details()

        vlan_auto_resource_model = VLANAutoResourceModel()
        vlan_auto_resource_model.access_mode = resource_context.attributes["Access Mode"]
        vlan_auto_resource_model.allocation_ranges = resource_context.attributes["Allocation Ranges"]
        vlan_auto_resource_model.isolation_level = resource_context.attributes["Isolation Level"]
        vlan_auto_resource_model.vlan_id = resource_context.attributes["VLAN Id"]
        vlan_auto_resource_model.virtual_network = resource_context.attributes["Virtual Network"]
        vlan_auto_resource_model.virtual_network_attribute = "Virtual Network"

        # get reservation details
        reservation_details = helpers.get_reservation_context_details()

        # Start api session
        api = helpers.get_api_session()

        vlan_service_provider = VlanResolverProvider(vlan_auto_resource_model,
                                                     reservation_details.domain,
                                                     reservation_details.id,
                                                     resource_context.name,
                                                     api)
        vlan_id = vlan_service_provider.resolve_vlan_auto()

        assert(vlan_id, requested_vlan_id)
    def test_vlan_service_resolves_first_numeric_when_vlan_id_empty(self):
        vlan_resource_model = VLANAutoResourceModel()
        vlan_resource_model.vlan_id = ""
        vlan_resource_model.isolation_level = "Exclusive"
        vlan_resource_model.virtual_network = ""
        vlan_resource_model.allocation_ranges = "10-100"

        resolved_vlan_info = Mock()
        resolved_vlan_info.VlanId = 10

        api = MagicMock()
        api.GetVlanAutoSelectFirstNumericFromRange = Mock(return_value=resolved_vlan_info)

        resolver = VlanResolverProvider(vlan_resource_model=vlan_resource_model,
                                        pool_id="Global",
                                        reservation_id="c5144273-c456-4885-a9b7-f5b058f02678",
                                        owner_id="VLAN Auto",
                                        api=api)

        resolved_vlan = resolver.resolve_vlan_auto()

        api.GetVlanAutoSelectFirstNumericFromRange.assert_called_with("Global", "c5144273-c456-4885-a9b7-f5b058f02678",
                                                                      "VLAN Auto", "Exclusive", 10, 100)
        self.assertEquals(resolved_vlan, 10)