@ResourceGroupPreparer(name_prefix='cli_test_webapp_authentication', location=WINDOWS_ASP_LOCATION_WEBAPP)
def test_webapp_authentication(self, resource_group):
    webapp_name = self.create_random_name('webapp-authentication-test', 40)
    plan_name = self.create_random_name('webapp-authentication-plan', 40)
    self.cmd('appservice plan create -g {} -n {} --sku S1'.format(resource_group, plan_name))
    self.cmd('webapp create -g {} -n {} --plan {}'.format(resource_group, webapp_name, plan_name))
    self.cmd('webapp auth show -g {} -n {}'.format(resource_group, webapp_name)).assert_with_checks([JMESPathCheck('unauthenticatedClientAction', None), JMESPathCheck('defaultProvider', None), JMESPathCheck('enabled', False), JMESPathCheck('tokenStoreEnabled', None), JMESPathCheck('allowedExternalRedirectUrls', None), JMESPathCheck('tokenRefreshExtensionHours', None), JMESPathCheck('runtimeVersion', None), JMESPathCheck('clientId', None), JMESPathCheck('clientSecret', None), JMESPathCheck('allowedAudiences', None), JMESPathCheck('issuer', None), JMESPathCheck('facebookAppId', None), JMESPathCheck('facebookAppSecret', None), JMESPathCheck('facebookOauthScopes', None)])
    result = self.cmd('webapp auth update -g {} -n {} --enabled true --action LoginWithFacebook --token-store false --token-refresh-extension-hours 7.2 --runtime-version 1.2.8 --aad-client-id aad_client_id --aad-client-secret aad_secret --aad-allowed-token-audiences https://audience1 --aad-token-issuer-url https://issuer_url --facebook-app-id facebook_id --facebook-app-secret facebook_secret --facebook-oauth-scopes public_profile email'.format(resource_group, webapp_name)).assert_with_checks([JMESPathCheck('unauthenticatedClientAction', 'RedirectToLoginPage'), JMESPathCheck('defaultProvider', 'Facebook'), JMESPathCheck('enabled', True), JMESPathCheck('tokenStoreEnabled', False), JMESPathCheck('tokenRefreshExtensionHours', 7.2), JMESPathCheck('runtimeVersion', '1.2.8'), JMESPathCheck('clientId', 'aad_client_id'), JMESPathCheck('clientSecret', 'aad_secret'), JMESPathCheck('issuer', 'https://issuer_url'), JMESPathCheck('facebookAppId', 'facebook_id'), JMESPathCheck('facebookAppSecret', 'facebook_secret')]).get_output_in_json()
    self.assertIn('https://audience1', result['allowedAudiences'])
    self.assertIn('email', result['facebookOauthScopes'])
    self.assertIn('public_profile', result['facebookOauthScopes'])
@ResourceGroupPreparer(name_prefix='cli_test_webapp_authentication', location=WINDOWS_ASP_LOCATION_WEBAPP)
def test_webapp_authentication(self, resource_group):
    webapp_name = self.create_random_name('webapp-authentication-test', 40)
    plan_name = self.create_random_name('webapp-authentication-plan', 40)
    self.cmd('appservice plan create -g {} -n {} --sku S1'.format(resource_group, plan_name))
    self.cmd('webapp create -g {} -n {} --plan {}'.format(resource_group, webapp_name, plan_name))
    self.cmd('webapp auth show -g {} -n {}'.format(resource_group, webapp_name)).assert_with_checks([JMESPathCheck('unauthenticatedClientAction', None), JMESPathCheck('defaultProvider', None), JMESPathCheck('enabled', False), JMESPathCheck('tokenStoreEnabled', None), JMESPathCheck('allowedExternalRedirectUrls', None), JMESPathCheck('tokenRefreshExtensionHours', None), JMESPathCheck('runtimeVersion', None), JMESPathCheck('clientId', None), JMESPathCheck('clientSecret', None), JMESPathCheck('allowedAudiences', None), JMESPathCheck('issuer', None), JMESPathCheck('facebookAppId', None), JMESPathCheck('facebookAppSecret', None), JMESPathCheck('facebookOauthScopes', None)])
    result = self.cmd('webapp auth update -g {} -n {} --enabled true --action LoginWithFacebook --token-store false --token-refresh-extension-hours 7.2 --runtime-version 1.2.8 --aad-client-id aad_client_id --aad-client-secret aad_secret --aad-allowed-token-audiences https://audience1 --aad-token-issuer-url https://issuer_url --facebook-app-id facebook_id --facebook-app-secret facebook_secret --facebook-oauth-scopes public_profile email'.format(resource_group, webapp_name)).assert_with_checks([JMESPathCheck('unauthenticatedClientAction', 'RedirectToLoginPage'), JMESPathCheck('defaultProvider', 'Facebook'), JMESPathCheck('enabled', True), JMESPathCheck('tokenStoreEnabled', False), JMESPathCheck('tokenRefreshExtensionHours', 7.2), JMESPathCheck('runtimeVersion', '1.2.8'), JMESPathCheck('clientId', 'aad_client_id'), JMESPathCheck('clientSecret', 'aad_secret'), JMESPathCheck('issuer', 'https://issuer_url'), JMESPathCheck('facebookAppId', 'facebook_id'), JMESPathCheck('facebookAppSecret', 'facebook_secret')]).get_output_in_json()
    self.assertIn('https://audience1', result['allowedAudiences'])
    self.assertIn('email', result['facebookOauthScopes'])
    self.assertIn('public_profile', result['facebookOauthScopes'])