def test_01_refresh_apex_class(self): apex_class_name = "unittestapexclass" files = [os.path.join(base_test_directory,"test_workspace",project_name,"src","classes",apex_class_name+".cls")] test_helper.create_project(project_name) test_helper.create_apex_metadata(project_name, "ApexClass", apex_class_name) commandOut = self.redirectStdOut() stdin = { "project_name" : project_name, "directories" : [], "files" : files } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'refresh'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout print mm_response mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == True) self.assertEqual("Refresh Completed Successfully",mm_json_response['body']) test_helper.delete_apex_metadata(project_name, files=files)
def test_01_new_apex_class(self): test_helper.create_project("unit test metadata project") commandOut = self.redirectStdOut() stdin = { "github_template": { "author": "MavensMate", "description": "The default template for an Apex Class", "name": "Default", "file_name": "ApexClass.cls" }, "apex_trigger_object_api_name": None, "apex_class_type": None, "api_name": "unittestapexclass", "project_name": "unit test metadata project", "metadata_type": "ApexClass" } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'new_metadata'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout print mm_response mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == True) self.assertTrue('id' in mm_json_response and len(mm_json_response['id']) is 18)
def test_03_update_debug_settings(self): commandOut = self.redirectStdOut() stdin = { "project_name" : "unit test tooling project", "debug_categories" : { "Workflow" : "FINE", "Callout" : "FINE", "System" : "FINE", "Database" : "FINE", "ApexCode" : "FINE", "Validation" : "FINE", "Visualforce" : "FINE" }, "expiration" : 120 } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'update_debug_settings'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout #print mm_response mm_json_response = util.parse_mm_response(mm_response) new_debug_settings = util.parse_json_file(os.path.join(base_test_directory, "test_workspace", stdin["project_name"], "config", ".debug")) self.assertTrue(new_debug_settings['expiration'] == stdin["expiration"]) self.assertTrue(new_debug_settings['levels']['Workflow'] == stdin["debug_categories"]["Workflow"]) self.assertTrue(new_debug_settings['levels']['Visualforce'] == stdin["debug_categories"]["Visualforce"])
def compile_project(name="unit test project"): stdin = { "project_name" : name } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'compile_project'] mm.main() return stdin
def delete_apex_metadata(project_name, files=[], dirs=[]): stdin = { "files": files, "project_name": project_name } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'delete'] mm.main()
def test_project_ui(self): stdin = {} sys.argv = ['mm.py', '-o', 'new_project', '--ui'] self.set_stdin(stdin) mm.main() mm_response = self.output.getvalue() sys.stdout = self.saved_stdout mm_json_response = util.parse_mm_response(mm_response) print mm_json_response self.assertTrue(mm_json_response['success'] == True)
def edit_project(name="unit test project", package=None): if package is None: package = { "ApexClass" : "*" } stdin = { "project_name" : name, "package" : package } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'edit_project'] mm.main() return stdin
def test_04_compile_project(self): stdin = { "project_name" : "unit test project" } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'compile_project'] mm.main() mm_response = self.output.getvalue() sys.stdout = self.saved_stdout #print mm_response mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == True)
def test_01_new_debug_log(self): test_helper.create_project("unit test metadata project") commandOut = self.redirectStdOut() stdin = { "project_name" : "unit test metadata project", } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'new_metadata'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout print mm_response
def test_bad_operation_name(self): stdin = { "project_name" : "bloat" } sys.argv = ['mm.py', '-o', 'new_project_bad', '--ui'] self.set_stdin(stdin) mm.main() mm_response = self.output.getvalue() sys.stdout = self.saved_stdout mm_json_response = util.parse_mm_response(mm_response) print mm_json_response self.assertTrue(mm_json_response['success'] == False) self.assertTrue(mm_json_response['body'] == 'Unsupported operation')
def test_02_get_active_session_bad_request(self): commandOut = self.redirectStdOut() stdin = { "username" : "*****@*****.**" } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'get_active_session'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == False) self.assertTrue(mm_json_response['body'] == "Please enter a Salesforce.com password")
def create_project(name="unit test project", package=None): if package is None: package = { "ApexClass" : "*" } stdin = { "project_name" : name, "username" : "*****@*****.**", "password" : "force", "org_type" : "developer", "action" : "new", "package" : package } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'new_project'] mm.main()
def create_project(self): stdin = { "project_name" : "unit test tooling project", "username" : "*****@*****.**", "password" : "force", "org_type" : "developer", "action" : "new", "package" : { "ApexClass" : "*" } } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'new_project'] mm.main()
def test_01_get_active_session_bad_creds(self): commandOut = self.redirectStdOut() stdin = { "username" : "*****@*****.**", "password" : "forceee", "org_type" : "developer" } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'get_active_session'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == False) self.assertTrue(mm_json_response['body'] == "Server raised fault: 'INVALID_LOGIN: Invalid username, password, security token; or user locked out.'")
def test_02_delete_apex_class(self): commandOut = self.redirectStdOut() client_settings = mm_util.parse_json_from_file(os.path.join(base_test_directory, "user_client_settings.json")) stdin = { "files": [os.path.join(client_settings["mm_workspace"],"unit test metadata project","src","classes","unittestapexclass.cls")], "project_name": "unit test metadata project" } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'delete'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout print mm_response mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == True)
def test_03_get_active_session_good_creds(self): commandOut = self.redirectStdOut() stdin = { "username" : "*****@*****.**", "password" : "force", "org_type" : "developer" } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'get_active_session'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout mm_json_response = util.parse_mm_response(mm_response) print mm_json_response self.assertTrue(mm_json_response['success'] == True) self.assertTrue(len(mm_json_response['user_id']) is 18)
def test_01_run_tests_async(self): test_helper.create_project("unit test project", package={ "ApexClass" : ["CompileAndTest"] }) commandOut = self.redirectStdOut() stdin = { "project_name" : "unit test project", "classes" : ["CompileAndTest"] } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'test_async'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout #print mm_response mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(len(mm_json_response) == 1) self.assertTrue(mm_json_response[0]['Status'] == 'Completed')
def test_02_compile_apex_class(self): test_helper.create_project("unit test metadata project") commandOut = self.redirectStdOut() client_settings = mm_util.parse_json_from_file(os.path.join(base_test_directory, "user_client_settings.json")) stdin = { "project_name": "unit test metadata project", "files": [os.path.join(client_settings["mm_workspace"],"unit test metadata project","src","classes","unittestapexclass.cls")] } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'compile'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout #print mm_response mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['State'] == "Completed") self.assertTrue(mm_json_response['ErrorMsg'] == None)
def test_05_update_project_subscription(self): commandOut = self.redirectStdOut() stdin = { "subscription" : ["ApexPage","ApexComponent"], "project_name" : "unit test project" } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'update_subscription'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == True) project_settings = util.parse_json_file(os.path.join(base_test_directory, 'test_workspace', 'unit test project', 'config', '.settings')) self.assertTrue(type(project_settings['subscription']) is list and len(project_settings['subscription']) == 2) self.assertTrue(project_settings['subscription'][0] == "ApexPage") self.assertTrue(project_settings['subscription'][1] == "ApexComponent")
def test_03_clean_project(self): stdin = { "project_name" : "unit test project" } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'clean_project'] mm.main() mm_response = self.output.getvalue() sys.stdout = self.saved_stdout #print mm_response mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == True) self.assertTrue(mm_json_response['body'] == 'Project Cleaned Successfully') self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', stdin['project_name']))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', stdin['project_name'], 'src'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', stdin['project_name'], 'src', 'classes'))) self.assertFalse(os.path.exists(os.path.join(base_test_directory, 'test_workspace', stdin['project_name'], 'src', 'pages')))
def create_apex_metadata(project_name, metadata_type="ApexClass", api_name="unittestapexclass"): stdin = { "github_template": { "author" : "MavensMate", "description" : "The default template for an Apex Class", "name" : "Default", "file_name" : "ApexClass.cls" }, "apex_trigger_object_api_name" : None, "apex_class_type" : None, "api_name" : api_name, "project_name" : project_name, "metadata_type" : metadata_type } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'new_metadata'] mm.main()
def test_02_new_quicklog(self): commandOut = self.redirectStdOut() stdin = { "project_name" : "unit test tooling project", "type" : "user", "debug_categories" : { "ApexCode" : "DEBUG", "Visualforce" : "INFO" } } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'new_quick_log'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout #print mm_response mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == True) self.assertTrue('1 Log(s) created successfully' in mm_json_response['body'])
def test_01_(self): test_helper.create_project() commandOut = self.redirectStdOut() stdin = { "project_name" : "unit test tooling project", "type" : "user", "debug_categories" : { "ApexCode" : "DEBUG", "Visualforce" : "INFO" } } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'new_log'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout print mm_response mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == True) self.assertTrue('id' in mm_json_response and len(mm_json_response['id']) is 18)
def test_01_new_health_check(self): if not os.path.exists( os.path.join(base_test_directory, "test_workspace", project_name)): package = {"ApexClass": "*", "ApexTrigger": "*", "ApexPage": "*"} test_helper.create_project(project_name, package) commandOut = self.redirectStdOut() stdin = { "project_name": project_name, "type": "user", "debug_categories": { "ApexCode": "DEBUG", "Visualforce": "INFO" } } util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'project_health_check'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout print mm_response
def test_01_(self): test_helper.create_project() commandOut = self.redirectStdOut() stdin = { "project_name": "unit test tooling project", "type": "user", "debug_categories": { "ApexCode": "DEBUG", "Visualforce": "INFO" } } util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'new_log'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout print mm_response mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == True) self.assertTrue('id' in mm_json_response and len(mm_json_response['id']) is 18)
def test_01_new_health_check(self): if not os.path.exists(os.path.join(base_test_directory,"test_workspace",project_name)): package = { "ApexClass" : "*", "ApexTrigger" : "*", "ApexPage" : "*" } test_helper.create_project(project_name, package) commandOut = self.redirectStdOut() stdin = { "project_name" : project_name, "type" : "user", "debug_categories" : { "ApexCode" : "DEBUG", "Visualforce" : "INFO" } } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'project_health_check'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout print mm_response
def test_01_create_new_project(self): stdin = { "project_name" : "unit test project", "username" : "*****@*****.**", "password" : "force", "org_type" : "developer", "action" : "new", "package" : { "ApexClass" : "*", "ApexPage" : "*" } } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'new_project'] mm.main() mm_response = self.output.getvalue() sys.stdout = self.saved_stdout mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == True) self.assertTrue(mm_json_response['body'] == 'Project Retrieved and Created Successfully') self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', stdin['project_name']))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', stdin['project_name'], 'src'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', stdin['project_name'], 'src', 'classes'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', stdin['project_name'], 'src', 'pages')))
import sys if __package__ == '': import os path = os.path.dirname(os.path.dirname(__file__)) sys.path.insert(0, path) import mm if __name__ == '__main__': sys.exit(mm.main())
# output: filein.rest sholog.debug('running contain') my_prog = os.path.join(dn, 'contain') my_arg = " -f %s_cor" % in_stem assert os.path.isfile('%s_cor.fas' % in_stem), \ 'File %s_cor.fas not found' % in_stem retcode_c = run_child(my_prog, my_arg) if retcode_c: sholog.error('contain did not return 0') sys.exit('Something went wrong while running contain') else: sholog.debug('contain exited successfully') # 4. run mm.py to find minimal matching sholog.debug('running mm.py') mm.main('%s_cor.rest' % in_stem, maxhaplo=200) # 5. run EM freqEst output: sample.$nr.popl sholog.debug('running freqEst') my_prog = os.path.join(dn, 'freqEst') my_arg = " -f %s_cor" % in_stem assert os.path.isfile('%s_cor.rest' % in_stem), \ 'File %s_cor.rest not found' % in_stem retcode_em = run_child(my_prog, my_arg) if retcode_em: sholog.error('freqEst did not return 0') sys.exit('Something went wrong in the EM step') else: sholog.debug('freqEst exited successfully') # 6. run snv.py to parse single nucleotide variants
def test_02_new_apex_checkpoint(self): test_helper.create_project("unit test tooling project") commandOut = self.redirectStdOut() ###CREATE APEX CLASS stdin = { "github_template": { "author": "MavensMate", "description": "The default template for an Apex Class", "name": "Default", "file_name": "ApexClass.cls" }, "apex_trigger_object_api_name": None, "apex_class_type": None, "api_name": "unittesttoolingapexclass", "project_name": "unit test tooling project", "metadata_type": "ApexClass" } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'new_metadata'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout print mm_response mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == True) self.assertTrue('id' in mm_json_response and len(mm_json_response['id']) is 18) ###CREATE CHECKPOINT stdin = { "project_name" : "unit test tooling project", "IsDumpingHeap" : True, "Iteration" : 1, "Object_Type" : "ApexClass", "Line" : 1, "ActionScriptType" : "None", "API_Name" : "unittesttoolingapexclass" } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'new_apex_overlay'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout print mm_response mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == True) self.assertTrue('id' in mm_json_response and len(mm_json_response['id']) is 18) ###DELETE CLASS client_settings = mm_util.parse_json_from_file(os.path.join(base_test_directory, "user_client_settings.json")) stdin = { "files": [os.path.join(client_settings["mm_workspace"],"unit test tooling project","src","classes","unittesttoolingapexclass.cls")], "project_name": "unit test tooling project" } mm_util.get_request_payload = mock.Mock(return_value=stdin) sys.argv = ['mm.py', '-o', 'delete'] mm.main() mm_response = commandOut.getvalue() sys.stdout = self.saved_stdout print mm_response mm_json_response = util.parse_mm_response(mm_response) self.assertTrue(mm_json_response['success'] == True)