Example #1
0
    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)
Example #2
0
 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)
Example #3
0
 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"])
Example #4
0
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
Example #5
0
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()
Example #6
0
 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)
Example #7
0
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
Example #8
0
 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)
Example #9
0
 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
Example #10
0
 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')
Example #11
0
 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")
Example #12
0
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()
Example #13
0
 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()
Example #14
0
 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.'")
Example #15
0
    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)
Example #16
0
 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)
Example #17
0
 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')
Example #18
0
 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)
Example #19
0
 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")
Example #20
0
 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')))
Example #21
0
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()
Example #22
0
 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'])
Example #23
0
 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)
Example #24
0
 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
Example #25
0
 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)
Example #26
0
 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
Example #27
0
 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')))
Example #28
0
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())
Example #29
0
        # 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
Example #30
0
    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)
Example #31
0
        # 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