def test_printVerbose(capsys): logManager.printVerbose("TEST") captured = capsys.readouterr() assert captured.out == "TEST\n" config = configManager.getConfig() configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_VERBOSE_OPTION_, "no") logManager.printVerbose("TEST") captured = capsys.readouterr() assert captured.out == ""
def test_log(): assert logManager._log() config = configManager.getConfig() configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_LOG_OPTION_, "no") assert not logManager._log() commandManager.runRmDirCommand(sad._CONFIG_DIR_NAME_) assert not logManager._log() commandManager.runMkdirCommand(sad._CONFIG_DIR_NAME_) assert not logManager._log() commandManager.runTouchCommand(sad._CONFIG_FILE_PATH) assert logManager._log() configFile = open(sad._CONFIG_FILE_PATH, 'w') configFile.write("[RaveGen]\n") configFile.close() assert logManager._log()
def test_printLog(): config = configManager.getConfig() configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_LOG_OPTION_, "no") logManager.printLog("TEST") assert os.path.exists(sad._LOG_FILE_PATH_) logFile = open(sad._LOG_FILE_PATH_, 'r') line = logFile.readline() logFile.close() assert not line configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_LOG_OPTION_, "yes") logManager.printLog("TEST") logFile = open(sad._LOG_FILE_PATH_, 'r') line = logFile.readline() logFile.close() line = line.split(":") assert line[3] == " TEST\n"
def test_generateBot(testFlag, hosting): projectManager.createInitProject(createBasicModules=True, hostingOption=hosting) if not testFlag: with pytest.raises(SystemExit) as pytest_wrapped_e: botManager.generateBot(testFlag=testFlag) assert pytest_wrapped_e.type == SystemExit config = configManager.getConfig() configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_DEPLOY_URL_OPTION, "www.test.com") botManager.generateBot(testFlag=testFlag) assert os.path.exists(sad._OUTPUT_BOT_DIR_) assert os.path.exists(sad.OUTPUT_BOT_PATH) headers = utils._getHeaders() if testFlag: assert headers[sad._HEADER_TOKEN_FLAG] == sad._STR_TRUE_ else: assert headers[sad._HEADER_TOKEN_FLAG] == sad._STR_FALSE_
def initConfiguration(): logManager.printVerbose("Verifying configuration...") logManager.printVerbose("Verifying Google Cloud installation...") _verifyGAEInstallation() logManager.printVerbose("Verifying Curl installation...") _verifyCurlInstallation() logManager.printVerbose("Verifying Google Cloud login...") while True: if not _verifyGAELogin(): logManager.printVerbose("Can't find google account") logManager.printVerbose("Google login...") _GAELogin() else: break config = configManager.getConfig() projectName = configManager.get(config, sad._DEPLOY_GAE_OPTION, sad._CONFIG_PROJECT_NAME_OPTION_) logManager.printVerbose("Verifiying project name...") if projectName != None and projectName != sad._INIT_CONFIG_PROJECT_NAME: logManager.printVerbose("Project name found: " + projectName) else: projectName = _getNewGAEName(config) if _verifyGAEProject(projectName): logManager.printVerbose( "The project has already been created in Google Cloud") token = configManager.get(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_TOKEN_OPTION_) deployUrl = sad._HTTPS_ + projectName + sad._GAE_URL_ configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_DEPLOY_URL_OPTION, deployUrl) configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_WEBHOOK_PATH_OPTION, token) else: logManager.printVerbose("Project hasn't been created in Google Cloud") while True: _GAECreate(projectName) if _verifyGAEProject(projectName): token = configManager.get(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_TOKEN_OPTION_) deployUrl = sad._HTTPS_ + projectName + sad._GAE_URL_ configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_DEPLOY_URL_OPTION, deployUrl) configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_WEBHOOK_PATH_OPTION, token) break logManager.printVerbose( "The project can't created in Google Cloud. Read the errors above and chose a new Google Cloud project name" ) projectName = _getNewGAEName(config) _GAEsetProject(projectName) logManager.printVerbose("All Configurations... OK")
def deleteCloudApp(): config = configManager.getConfig() projectName = configManager.get(config, sad._DEPLOY_HEROKU_OPTION, sad._CONFIG_PROJECT_NAME_OPTION_) if projectName != None and projectName != sad._INIT_CONFIG_PROJECT_NAME: commandManager.runHerokuDestroyCommand(projectName) configManager.set(config, sad._DEPLOY_HEROKU_OPTION, sad._CONFIG_PROJECT_NAME_OPTION_, "") configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_DEPLOY_URL_OPTION, "") configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_WEBHOOK_PATH_OPTION, "") configManager.set(config, sad._DEPLOY_HEROKU_OPTION, sad._CONFIG_GIT_OPTION_, "")
def _initConfiguration(projectNameFlag=True, initProjectFlag=True, gitInitFlag=True, gitHerokuFlag=-1): config = configManager.getConfig() if gitInitFlag: logManager.printVerbose("Creating git...") commandManager.runGitInitCommand() gitHerokuFlag = -1 if projectNameFlag: logManager.printVerbose("Project name doesn't found") _getNewHerokuName(config) initProjectFlag = True if initProjectFlag: logManager.printVerbose("Project hasn't been created in heroku") erroFlag = False while True: if erroFlag: logManager.printVerbose( "The project can't created in heroku. Read the errors above and chose a new heroku project name" ) _getNewHerokuName(config) projectName = configManager.get(config, sad._DEPLOY_HEROKU_OPTION, sad._CONFIG_PROJECT_NAME_OPTION_) token = configManager.get(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_TOKEN_OPTION_) deployUrl = sad._HTTPS_ + projectName + sad._HEROKU_URL gitUrl = sad._HTTPS_ + sad._HEORKU_GIT_URL + projectName + sad._GIT_EXTENTION commandManager.runHerokuCreateCommand(projectName) if _verifyProject(projectName): configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_DEPLOY_URL_OPTION, deployUrl) configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_WEBHOOK_PATH_OPTION, token) configManager.set(config, sad._DEPLOY_HEROKU_OPTION, sad._CONFIG_GIT_OPTION_, gitUrl) gitHerokuFlag = _verifyRemoteHeroku(gitUrl) break else: erroFlag = True if gitHerokuFlag == -1: logManager.printVerbose("Adding git remote heroku...") gitUrl = configManager.get(config, sad._DEPLOY_HEROKU_OPTION, sad._CONFIG_GIT_OPTION_) commandManager.runGitAddRemoteCommand(sad._DEPLOY_HEROKU_OPTION, gitUrl) if gitHerokuFlag == 0: logManager.printVerbose("Setting git remote heroku...") gitUrl = configManager.get(config, sad._DEPLOY_HEROKU_OPTION, sad._CONFIG_GIT_OPTION_) commandManager.runGitSetRemoteUrlCommand(sad._DEPLOY_HEROKU_OPTION, gitUrl)
def test_verifyConfig(): config = configManager.getConfig() configManager.verifyConfig(config) configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_HOSTING_OPTION_, "TEST") with pytest.raises(SystemExit) as pytest_wrapped_e: configManager.verifyConfig(config) assert pytest_wrapped_e.type == SystemExit configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_HOSTING_OPTION_, sad._DEPLOY_HEROKU_OPTION) configManager.set(config, sad._CONFIG_RAVEGEN_SECTION_, sad._CONFIG_TOKEN_OPTION_, "") with pytest.raises(SystemExit) as pytest_wrapped_e: configManager.verifyConfig(config) assert pytest_wrapped_e.type == SystemExit commandManager.runRmCommand(sad._CONFIG_FILE_PATH) commandManager.runTouchCommand(sad._CONFIG_FILE_PATH) with pytest.raises(SystemExit) as pytest_wrapped_e: config = configManager.getConfig() assert pytest_wrapped_e.type == SystemExit
def _getNewGAEName(config): projectName = inputManager.getInput("Enter new GAE project name: ") configManager.set(config, sad._DEPLOY_GAE_OPTION, sad._CONFIG_PROJECT_NAME_OPTION_, projectName) return projectName
def _getNewHerokuName(config): projectName = inputManager.getInput("Enter new Heroku Project Name: ") configManager.set(config, sad._DEPLOY_HEROKU_OPTION, sad._CONFIG_PROJECT_NAME_OPTION_, projectName)
def test_getBoolean(value, expected): config = configManager.getConfig() configManager.set(config, "TEST-SEC", "TEST-OP", value) assert configManager.getboolean(config, "TEST-SEC", "TEST-OP") == expected assert configManager.getboolean(config, "TEST", "TEST-OP") is None
def test_set(section, option, value): config = configManager.getConfig() configManager.set(config, section, option, value) assert configManager.get(config, section, option) == value