def test_app_service_environment_update(self, ase_client_factory_mock, resource_group_mock): ase_name = 'mock_ase_name' rg_name = 'mock_rg_name' ase_client = mock.MagicMock() ase_client_factory_mock.return_value = ase_client resource_group_mock.return_value = rg_name host_env = HostingEnvironmentProfile(id='id1') host_env.name = ase_name host_env.resource_group = rg_name host_env.worker_pools = [] ase_client.get.return_value = host_env ase_client.list.return_value = [host_env] update_appserviceenvironment(self.mock_cmd, ase_name, front_end_scale_factor=10) # Assert create_or_update is called with correct properties assert_host_env = HostingEnvironmentProfile(id='id1') assert_host_env.name = ase_name assert_host_env.resource_group = rg_name assert_host_env.worker_pools = [] assert_host_env.internal_load_balancing_mode = None assert_host_env.front_end_scale_factor = 10 ase_client.create_or_update.assert_called_once_with( name=ase_name, resource_group_name=rg_name, hosting_environment_envelope=assert_host_env)
def test_app_service_environment_list(self, ase_client_factory_mock): ase_name_1 = 'mock_ase_name_1' ase_name_2 = 'mock_ase_name_2' rg_name_1 = 'mock_rg_name_1' rg_name_2 = 'mock_rg_name_2' ase_client = mock.MagicMock() ase_client_factory_mock.return_value = ase_client host_env1 = HostingEnvironmentProfile(id='id1') host_env1.name = ase_name_1 host_env1.resource_group = rg_name_1 host_env2 = HostingEnvironmentProfile(id='id2') host_env2.name = ase_name_2 host_env2.resource_group = rg_name_2 ase_client.list.return_value = [host_env1, host_env2] # Assert listvips is called list_appserviceenvironment_addresses(self.mock_cmd, ase_name_1) ase_client.list_vips.assert_called_with(rg_name_1, ase_name_1) # Assert list_app_service_plans is called list_appserviceenvironment_plans(self.mock_cmd, ase_name_2) ase_client.list_app_service_plans.assert_called_with( rg_name_2, ase_name_2) # Assert list return two instances result = list_appserviceenvironments(self.mock_cmd, None) self.assertEqual(len(result), 2)
def test_app_service_environment_delete(self, ase_client_factory_mock, resource_group_mock): ase_name = 'mock_ase_name' rg_name = 'mock_rg_name' ase_client = mock.MagicMock() ase_client_factory_mock.return_value = ase_client resource_group_mock.return_value = rg_name host_env = HostingEnvironmentProfile(id='id1') host_env.name = ase_name host_env.resource_group = rg_name host_env.worker_pools = [] ase_client.get.return_value = host_env ase_client.list.return_value = [host_env] delete_appserviceenvironment(self.mock_cmd, ase_name) # Assert delete is called with correct properties assert_host_env = HostingEnvironmentProfile(id='id1') assert_host_env.name = ase_name assert_host_env.resource_group = rg_name ase_client.delete.assert_called_once_with(name=ase_name, resource_group_name=rg_name)
def test_app_service_environment_list(self, ase_client_factory_mock): ase_name_1 = 'mock_ase_name_1' ase_name_2 = 'mock_ase_name_2' rg_name_1 = 'mock_rg_name_1' rg_name_2 = 'mock_rg_name_2' ase_client = mock.MagicMock() ase_client_factory_mock.return_value = ase_client host_env1 = HostingEnvironmentProfile(id='/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/mock_rg_name_1/Microsoft.Web/hostingEnvironments/mock_ase_name_1') host_env1.name = ase_name_1 host_env1.kind = 'ASEv2' host_env2 = HostingEnvironmentProfile(id='/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/mock_rg_name_2/Microsoft.Web/hostingEnvironments/mock_ase_name_2') host_env2.name = ase_name_2 host_env2.kind = 'ASEv3' ase_client.list.return_value = [host_env1, host_env2] ase_client.get.return_value = host_env1 # Assert listvips is called (ASEv2) list_appserviceenvironment_addresses(self.mock_cmd, ase_name_1) ase_client.get_vip_info.assert_called_with(rg_name_1, ase_name_1) ase_client.get.return_value = host_env2 # Assert get_ase_v3_networking_configuration is called (ASEv3) list_appserviceenvironment_addresses(self.mock_cmd, ase_name_2) ase_client.get_ase_v3_networking_configuration.assert_called_with(rg_name_2, ase_name_2) # Assert list_app_service_plans is called list_appserviceenvironment_plans(self.mock_cmd, ase_name_2) ase_client.list_app_service_plans.assert_called_with(rg_name_2, ase_name_2) # Assert list return two instances result = list_appserviceenvironments(self.mock_cmd, None) self.assertEqual(len(result), 2)
def test_app_service_environment_update(self, ase_client_factory_mock, resource_group_mock): ase_name = 'mock_ase_name' rg_name = 'mock_rg_name' ase_client = mock.MagicMock() ase_client_factory_mock.return_value = ase_client resource_group_mock.return_value = rg_name host_env = HostingEnvironmentProfile(id='/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/mock_rg_name/Microsoft.Web/hostingEnvironments/mock_ase_name') host_env.name = ase_name host_env.kind = 'ASEv2' ase_client.get.return_value = host_env ase_client.list.return_value = [host_env] update_appserviceenvironment(self.mock_cmd, ase_name, front_end_scale_factor=10) # Assert create_or_update is called with correct properties assert_host_env = HostingEnvironmentProfile(id='/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/mock_rg_name/Microsoft.Web/hostingEnvironments/mock_ase_name') assert_host_env.name = ase_name assert_host_env.kind = 'ASEv2' assert_host_env.internal_load_balancing_mode = None assert_host_env.front_end_scale_factor = 10 ase_client.begin_create_or_update.assert_called_once_with(resource_group_name=rg_name, name=ase_name, hosting_environment_envelope=assert_host_env)
def test_get_external_ip_from_ase(self, client_factory_mock): client = mock.Mock() client_factory_mock.return_value = client cmd_mock = mock.MagicMock() # set up the web inside a ASE, with an ip based ssl binding host_env = HostingEnvironmentProfile(id='id11') host_env.name = 'ase1' host_env.resource_group = 'myRg' host_ssl_state = HostNameSslState(ssl_state=SslState.ip_based_enabled, virtual_ip='1.2.3.4') client.web_apps.get.return_value = Site( name='antarctica', hosting_environment_profile=host_env, host_name_ssl_states=[host_ssl_state], location='westus') client.app_service_environments.list_vips.return_value = AddressResponse( ) # action result = get_external_ip(cmd_mock, 'myRg', 'myWeb') # assert, we return the virtual ip from the ip based ssl binding self.assertEqual('1.2.3.4', result['ip']) # tweak to have no ip based ssl binding, but it is in an internal load balancer host_ssl_state2 = HostNameSslState(ssl_state=SslState.sni_enabled) client.web_apps.get.return_value = Site( name='antarctica', hosting_environment_profile=host_env, host_name_ssl_states=[host_ssl_state2], location='westus') client.app_service_environments.list_vips.return_value = AddressResponse( internal_ip_address='4.3.2.1') # action result = get_external_ip(cmd_mock, 'myRg', 'myWeb') # assert, we take the ILB address self.assertEqual('4.3.2.1', result['ip']) # tweak to have no ip based ssl binding, and not in internal load balancer host_ssl_state2 = HostNameSslState(ssl_state=SslState.sni_enabled) client.web_apps.get.return_value = Site( name='antarctica', hosting_environment_profile=host_env, host_name_ssl_states=[host_ssl_state2], location='westus') client.app_service_environments.list_vips.return_value = AddressResponse( service_ip_address='1.1.1.1') # action result = get_external_ip(cmd_mock, 'myRg', 'myWeb') # assert, we take service ip self.assertEqual('1.1.1.1', result['ip'])
def test_app_service_environment_show(self, ase_client_factory_mock): ase_name = 'mock_ase_name' rg_name = 'mock_rg_name' ase_client = mock.MagicMock() ase_client_factory_mock.return_value = ase_client host_env = HostingEnvironmentProfile(id='/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/mock_rg_name/Microsoft.Web/hostingEnvironments/mock_ase_name') host_env.name = ase_name ase_client.get.return_value = host_env ase_client.list.return_value = [host_env] result = show_appserviceenvironment(self.mock_cmd, ase_name, None) # Assert same name self.assertEqual(result.name, ase_name)
def test_app_service_environment_show(self, ase_client_factory_mock): ase_name = 'mock_ase_name' rg_name = 'mock_rg_name' ase_client = mock.MagicMock() ase_client_factory_mock.return_value = ase_client host_env = HostingEnvironmentProfile(id='id1') host_env.name = ase_name host_env.resource_group = rg_name ase_client.get.return_value = host_env ase_client.list.return_value = [host_env] result = show_appserviceenvironment(self.mock_cmd, ase_name, None) # Assert same name self.assertEqual(result.name, ase_name)
def test_get_external_ip_from_ase(self, client_factory_mock): client = mock.Mock() client_factory_mock.return_value = client cmd_mock = mock.MagicMock() # set up the web inside a ASE, with an ip based ssl binding host_env = HostingEnvironmentProfile('id11') host_env.name = 'ase1' host_env.resource_group = 'myRg' host_ssl_state = HostNameSslState(ssl_state=SslState.ip_based_enabled, virtual_ip='1.2.3.4') client.web_apps.get.return_value = Site('antarctica', hosting_environment_profile=host_env, host_name_ssl_states=[host_ssl_state]) client.app_service_environments.list_vips.return_value = AddressResponse() # action result = get_external_ip(cmd_mock, 'myRg', 'myWeb') # assert, we return the virtual ip from the ip based ssl binding self.assertEqual('1.2.3.4', result['ip']) # tweak to have no ip based ssl binding, but it is in an internal load balancer host_ssl_state2 = HostNameSslState(ssl_state=SslState.sni_enabled) client.web_apps.get.return_value = Site('antarctica', hosting_environment_profile=host_env, host_name_ssl_states=[host_ssl_state2]) client.app_service_environments.list_vips.return_value = AddressResponse(internal_ip_address='4.3.2.1') # action result = get_external_ip(cmd_mock, 'myRg', 'myWeb') # assert, we take the ILB address self.assertEqual('4.3.2.1', result['ip']) # tweak to have no ip based ssl binding, and not in internal load balancer host_ssl_state2 = HostNameSslState(ssl_state=SslState.sni_enabled) client.web_apps.get.return_value = Site('antarctica', hosting_environment_profile=host_env, host_name_ssl_states=[host_ssl_state2]) client.app_service_environments.list_vips.return_value = AddressResponse(service_ip_address='1.1.1.1') # action result = get_external_ip(cmd_mock, 'myRg', 'myWeb') # assert, we take service ip self.assertEqual('1.1.1.1', result['ip'])
def test_app_service_environment_update_asev3(self, ase_client_factory_mock, resource_group_mock): ase_name = 'mock_ase_name' rg_name = 'mock_rg_name' ase_client = mock.MagicMock() ase_client_factory_mock.return_value = ase_client resource_group_mock.return_value = rg_name host_env = HostingEnvironmentProfile(id='/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/mock_rg_name/Microsoft.Web/hostingEnvironments/mock_ase_name') host_env.name = ase_name host_env.kind = 'ASEv3' ase_client.get.return_value = host_env ase_client.list.return_value = [host_env] ase_networking_conf = AseV3NetworkingConfiguration(allow_new_private_endpoint_connections=False) ase_client.get_ase_v3_networking_configuration.return_value = ase_networking_conf update_appserviceenvironment(self.mock_cmd, ase_name, allow_new_private_endpoint_connections=True) # Assert create_or_update is called with correct properties ase_client.update_ase_networking_configuration.assert_called_once_with(resource_group_name=rg_name, name=ase_name, ase_networking_configuration=ase_networking_conf)