def create_website(cmd, name, runtime, deployment_local_git=True, deployment_user=None): runtime_values = RUNTIMES[runtime.lower()] deployment_user_password = None create_app_service_plan(cmd, resource_group_name=name, name=name, is_linux=runtime_values['is_linux'], hyper_v=False).result() webapp = create_webapp(cmd, resource_group_name=name, name=name, plan=name, runtime=runtime_values['name'], deployment_local_git=deployment_local_git) if deployment_user: deployment_user_password = uuid4() set_deployment_user(cmd, deployment_user, deployment_user_password) else: deployment_user = web_client_factory( cmd.cli_ctx).get_publishing_user().publishing_user_name site = {} site['deployment_user'] = deployment_user site[ 'deployment_password'] = deployment_user_password if deployment_user_password else '***' site['deployment_url'] = webapp.deploymentLocalGitUrl site['hostname'] = 'https://{}'.format(webapp.host_names[0]) return site
def __set_deployment_user(self): deployment_user = web_client_factory( self.__cmd.cli_ctx).get_publishing_user() # Check for existing deployment user if not deployment_user: # Create random password, set name to first 10 characters of app name self.deployment_user_password = str(uuid4()) set_deployment_user(self.__cmd, user_name=self.name[:10], password=self.deployment_user_password) self.deployment_user_name = self.name[:10] else: self.deployment_user_name = deployment_user.publishing_user_name
def __set_deployment_user(self): deployment_user = web_client_factory( self.__cmd.cli_ctx).get_publishing_user() # Check for existing deployment user if not deployment_user or not deployment_user.publishing_user_name: # Create random password, set name to base of app name logger.warning('Creating deployment user') password = str(uuid4()) user_name = self.name set_deployment_user(self.__cmd, user_name=user_name, password=password) self.deployment_user_name = user_name self.deployment_user_password = password else: self.deployment_user_name = deployment_user.publishing_user_name
def test_set_deployment_user_creds(self, client_factory_mock): self.client._client = mock.MagicMock() client_factory_mock.return_value = self.client mock_response = mock.MagicMock() mock_response.status_code = 200 self.client._client.send.return_value = mock_response # action result = set_deployment_user('admin', 'verySecret1') # assert things get wired up with a result returned self.assertIsNotNone(result)
def test_set_deployment_user_creds(self, client_factory_mock): class MockClient: def update_publishing_user(self, user): # Don't do an actual call, just return the incoming user return user client_factory_mock.return_value = MockClient() # action user = set_deployment_user(_get_test_cmd(), 'admin', 'verySecret1') # assert things get wired up with a result returned assert user.publishing_user_name == 'admin' assert user.publishing_password == 'verySecret1'