def test_01_should_run_tests_async(self): project_name = "unit test project" test_helper.create_project(self, project_name, package={"ApexClass": ["CompileAndTest"]}) apex_class_name = "unittestapexclass" files = [ os.path.join( test_helper.base_test_directory, "test_workspace", project_name, "src", "classes", apex_class_name + ".cls", ) ] template = { "author": "MavensMate", "name": "Unit Test", "description": "Unit test class", "file_name": "UnitTestApexClass.cls", "params": [{"default": "MyApexClass", "name": "api_name", "description": "Apex Class API Name"}], } test_helper.create_apex_metadata(self, project_name, "ApexClass", apex_class_name, template) stdin = {"project_name": project_name, "classes": ["unittestapexclass"]} mm_response = self.runCommand("test_async", stdin) self.assertTrue(len(mm_response) == 1) self.assertTrue(mm_response[0]["Status"] == "Completed") self.assertTrue("ExtendedStatus" in mm_response[0]) test_helper.delete_apex_metadata(self, project_name, files=files)
def test_01_should_get_coverage(self): test_helper.create_project(self, "unit test project", package={ "ApexClass" : "*" }) stdin = { "project_name" : "unit test project" } mm_response = self.runCommand('code_coverage_report', stdin) self.assertTrue('NumLinesCovered' in mm_response[0])
def test_01_should_delete_trace_flags(self): test_helper.create_project(self, "unit test tooling project") stdin = { "project_name" : "unit test tooling project" } mm_response = self.runCommand('delete_trace_flags', stdin) self.assertTrue(mm_response['success'] == True)
def test_02_should_compile_apex_class(self): test_helper.create_project(self, "unit test metadata project") stdin = { "project_name": "unit test metadata project", "files": [os.path.join(test_helper.base_test_directory,"test_workspace","unit test metadata project","src","classes","unittestapexclass.cls")] } mm_response = self.runCommand('compile', stdin) self.assertTrue(mm_response['State'] == "Completed") self.assertTrue(mm_response['ErrorMsg'] == None)
def test_01_should_create_new_org_connection(self): test_helper.create_project(self, "unit test deploy project") stdin = { "username" : "*****@*****.**", "password" : "force", "org_type" : "developer", "project_name" : "unit test deploy project" } mm_response = self.runCommand('new_connection', stdin) self.assertTrue(mm_response['success'] == True)
def test_01_should_create_new_org_connection(self): test_helper.create_project(self, "unit test deploy project") stdin = { "username" : test_helper.get_creds()['username'], "password" : test_helper.get_creds()['password'], "org_type" : test_helper.get_creds()['org_type'], "project_name" : "unit test deploy project" } mm_response = self.runCommand('new_connection', stdin) self.assertTrue(mm_response['success'] == True)
def test_01_should_create_new_org_connection(self): test_helper.create_project(self, "unit test deploy project") stdin = { "username": test_helper.get_creds()['username'], "password": test_helper.get_creds()['password'], "org_type": test_helper.get_creds()['org_type'], "project_name": "unit test deploy project" } mm_response = self.runCommand('new_connection', stdin) self.assertTrue(mm_response['success'] == True)
def test_01_should_compile_with_tooling_api(self): test_helper.create_project(self, "unit test metadata project") test_helper.create_apex_metadata(self, "unit test metadata project", "ApexClass", "unittestapexclass") mm_response = test_helper.compile(self, "unit test metadata project", [os.path.join(test_helper.base_test_directory,"test_workspace","unit test metadata project","src","classes","unittestapexclass.cls")]) self.assertTrue(mm_response['State'] == 'Completed') if self.getTestApiVersion() <= 30: self.assertTrue(mm_response['CompilerErrors'] == '[]') else: self.assertTrue('DeployDetails' in mm_response) self.assertTrue(mm_response['DeployDetails']['componentSuccesses'] == [])
def test_01_should_create_new_stack_trace(self): test_helper.create_project(self, "unit test tooling project") stdin = { "project_name" : "unit test tooling project", "type" : "user", "debug_categories" : { "ApexCode" : "DEBUG", "Visualforce" : "DEBUG" } } mm_response = self.runCommand('new_log', stdin) self.assertEqual(mm_response['success'],True) self.assertTrue('id' in mm_response and len(mm_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(self, project_name, package) stdin = { "project_name": project_name, "type": "user", "debug_categories": { "ApexCode": "DEBUG", "Visualforce": "INFO" } } mm_response = self.runCommand('project_health_check', stdin)
def test_01_should_create_new_project(self): package = {"ApexClass": "*", "ApexPage": "*", "Report": [], "Document": []} mm_response = test_helper.create_project(self, "unit test project", package=package) self.assertTrue(mm_response["success"] == True) self.assertTrue(mm_response["body"] == "Project Retrieved and Created Successfully") self.assertTrue(os.path.exists(os.path.join(base_test_directory, "test_workspace", "unit test project"))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, "test_workspace", "unit test project", "src"))) self.assertTrue( os.path.exists(os.path.join(base_test_directory, "test_workspace", "unit test project", "src", "classes")) ) self.assertTrue( os.path.exists(os.path.join(base_test_directory, "test_workspace", "unit test project", "src", "pages")) ) self.assertTrue( os.path.exists(os.path.join(base_test_directory, "test_workspace", "unit test project", "src", "reports")) ) self.assertTrue( os.path.exists(os.path.join(base_test_directory, "test_workspace", "unit test project", "src", "documents")) ) self.assertTrue( os.path.exists( os.path.join( base_test_directory, "test_workspace", "unit test project", "src", "documents", "MavensMate_Documents", ) ) )
def test_03_should_create_new_project_with_all_objects(self): package = {"CustomObject": "*"} project_name = 'unit test project' mm_response = test_helper.create_project(self, project_name, package=package) self.assertTrue(mm_response['success'] == True) self.assertTrue(mm_response['body'] == 'Project Retrieved and Created Successfully') self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'src'))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'objects'))) self.assertTrue( os.path.isfile( os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'objects', 'Account.object'))) self.assertTrue( os.path.isfile( os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'objects', 'Opportunity.object'))) self.assertTrue( os.path.isfile( os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'objects', 'Lead.object')))
def test_should_except_for_empty_package_dict(self): package = {} mock_helper.mock_login_and_describe() mm_response = test_helper.create_project( self, "test_should_except_for_empty_package_dict", package=package) self.assertTrue(mm_response['success'] == False) self.assertTrue(mm_response['body'] == 'Invalid package')
def test_02_should_except_for_bad_package(self): package = {} mm_response = test_helper.create_project(self, "unit test project", package=package) self.assertTrue(mm_response['success'] == False) self.assertTrue(mm_response['body'] == 'Invalid package')
def test_01_should_refresh_apex_class(self): apex_class_name = "unittestapexclass" files = [os.path.join(test_helper.base_test_directory,"test_workspace",project_name,"src","classes",apex_class_name+".cls")] test_helper.create_project(self, project_name) test_helper.create_apex_metadata(self, project_name, "ApexClass", apex_class_name) stdin = { "project_name" : project_name, "directories" : [], "files" : files } mm_response = self.runCommand('refresh', stdin) self.assertTrue(mm_response['success'] == True) self.assertEqual("Refresh Completed Successfully",mm_response['body']) test_helper.delete_apex_metadata(self, project_name, files=files)
def test_01_should_compile_with_tooling_api(self): test_helper.create_project(self, "unit test metadata project") test_helper.create_apex_metadata(self, "unit test metadata project", "ApexClass", "unittestapexclass") mm_response = test_helper.compile(self, "unit test metadata project", [ os.path.join(test_helper.base_test_directory, "test_workspace", "unit test metadata project", "src", "classes", "unittestapexclass.cls") ]) self.assertTrue(mm_response['State'] == 'Completed') if self.getTestApiVersion() <= 30: self.assertTrue(mm_response['CompilerErrors'] == '[]') else: self.assertTrue('DeployDetails' in mm_response) self.assertTrue( mm_response['DeployDetails']['componentSuccesses'] == [])
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(self, project_name, package) stdin = { "project_name" : project_name, "type" : "user", "debug_categories" : { "ApexCode" : "DEBUG", "Visualforce" : "INFO" } } mm_response = self.runCommand('project_health_check', stdin)
def test_should_retrieve_empty_project(self): package = os.path.join( os.path.join(base_test_directory, 'unit', 'project', 'empty_package.xml')) mock_helper.mock_login_and_describe() mm_response = test_helper.create_project( self, "test_should_retrieve_empty_project", package=package) self.assertTrue(mm_response['success'] == True)
def test_04_should_create_new_project_based_on_package_xml_file(self): package = os.path.join(base_test_directory, 'functional', 'project', 'package.xml') project_name = 'unit test project' mm_response = test_helper.create_project(self, project_name, package=package) self.assertTrue(mm_response['success'] == True) self.assertTrue(mm_response['body'] == 'Project Retrieved and Created Successfully') self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name, 'src'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'classes')))
def test_should_notify_user_of_duplicate_project_name_in_workspace(self): os.mkdir(os.path.join(base_test_directory, 'test_workspace', project_name)) package = { "ApexClass" : "*" } mock_helper.mock_login_and_describe() mm_response = test_helper.create_project(self, project_name, package) self.assertEquals(False, mm_response['success']) self.assertTrue('A project with this name already exists in your workspace' in mm_response['body']) shutil.rmtree(os.path.join(base_test_directory,"test_workspace",project_name))
def test_should_notify_user_of_duplicate_project_name_in_workspace(self): os.mkdir(os.path.join(base_test_directory, 'test_workspace', 'test_should_notify_user_of_duplicate_project_name_in_workspace')) package = { "ApexClass" : "*" } mock_helper.mock_login_and_describe() mm_response = test_helper.create_project(self, 'test_should_notify_user_of_duplicate_project_name_in_workspace', package) self.assertEquals(False, mm_response['success']) self.assertTrue('A project with this name already exists in your workspace' in mm_response['body']) shutil.rmtree(os.path.join(base_test_directory,"test_workspace",'test_should_notify_user_of_duplicate_project_name_in_workspace'))
def test_01_should_refresh_apex_class(self): apex_class_name = "unittestapexclass" files = [ os.path.join(test_helper.base_test_directory, "test_workspace", project_name, "src", "classes", apex_class_name + ".cls") ] test_helper.create_project(self, project_name) test_helper.create_apex_metadata(self, project_name, "ApexClass", apex_class_name) stdin = { "project_name": project_name, "directories": [], "files": files } mm_response = self.runCommand('refresh', stdin) self.assertTrue(mm_response['success'] == True) self.assertEqual("Refresh Completed Successfully", mm_response['body']) test_helper.delete_apex_metadata(self, project_name, files=files)
def test_01_should_run_tests_async(self): project_name = 'unit test project' test_helper.create_project(self, project_name, package={"ApexClass": ["CompileAndTest"]}) apex_class_name = "unittestapexclass" files = [ os.path.join(test_helper.base_test_directory, "test_workspace", project_name, "src", "classes", apex_class_name + ".cls") ] template = { 'author': 'MavensMate', 'name': 'Unit Test', 'description': 'Unit test class', 'file_name': 'UnitTestApexClass.cls', 'params': [{ 'default': 'MyApexClass', 'name': 'api_name', 'description': 'Apex Class API Name' }] } test_helper.create_apex_metadata(self, project_name, "ApexClass", apex_class_name, template) stdin = { "project_name": project_name, "classes": ["unittestapexclass"] } mm_response = self.runCommand('test_async', stdin) self.assertTrue(len(mm_response) == 1) self.assertTrue(mm_response[0]['Status'] == 'Completed') self.assertTrue('ExtendedStatus' in mm_response[0]) test_helper.delete_apex_metadata(self, project_name, files=files)
def test_01_should_create_new_apex_class(self): test_helper.create_project(self, "unit test metadata project") stdin = { 'project_name' : 'unit test metadata project', 'metadata_type': 'ApexClass', 'params': {'api_name': 'unittestapexclass'}, 'github_template': { 'author': 'MavensMate', 'name': 'Default', 'description': 'The default template for an Apex Class', 'file_name': 'ApexClass.cls', 'params': [ { 'default': 'MyApexClass', 'name': 'api_name', 'description': 'Apex Class API Name' } ] } } mm_response = self.runCommand('new_metadata', stdin) self.assertTrue(mm_response['success'] == True) self.assertTrue('id' in mm_response and len(mm_response['id']) is 18)
def test_03_should_create_new_project_with_all_objects(self): package = { "CustomObject" : "*" } project_name = 'unit test project' mm_response = test_helper.create_project(self, project_name, package=package) self.assertTrue(mm_response['success'] == True) self.assertTrue(mm_response['body'] == 'Project Retrieved and Created Successfully') self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name, 'src'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'objects'))) self.assertTrue(os.path.isfile(os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'objects', 'Account.object'))) self.assertTrue(os.path.isfile(os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'objects', 'Opportunity.object'))) self.assertTrue(os.path.isfile(os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'objects', 'Lead.object')))
def test_01_should_create_new_project(self): package = { "ApexClass" : "*", "ApexPage" : "*", "Report" : [], "Document" : [] } mm_response = test_helper.create_project(self, "unit test project", package=package) self.assertTrue(mm_response['success'] == True) self.assertTrue(mm_response['body'] == 'Project Retrieved and Created Successfully') self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', 'unit test project'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', 'unit test project', 'src'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', 'unit test project', 'src', 'classes'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', 'unit test project', 'src', 'pages'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', 'unit test project', 'src', 'reports'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', 'unit test project', 'src', 'documents'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', 'unit test project', 'src', 'documents', 'MavensMate_Documents')))
def test_should_create_new_project_from_existing_directory(self): package = { "ApexClass": "*", "ApexPage": "*", } mock_helper.mock_login_and_describe() # mock retrieve call MavensMateClient.retrieve = mock.Mock( return_value=MockRetrieveResponse()) MavensMateClient.get_metadata_container_id = mock.Mock( return_value='12345') mm_response = test_helper.create_project(self, project_name, package) self.assertEquals(True, mm_response['success']) self.assertEquals('Project Retrieved and Created Successfully', mm_response['body']) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'src'))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'components'))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'config', '.settings'))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'config', '.session'))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'config', '.describe'))) shutil.rmtree( os.path.join(base_test_directory, "test_workspace", project_name))
def test_01_should_create_new_project(self): package = { "ApexClass": "*", "ApexPage": "*", "Report": [], "Document": [] } project_name = 'unit test project' mm_response = test_helper.create_project(self, project_name, package=package) self.assertTrue(mm_response['success'] == True) self.assertTrue(mm_response['body'] == 'Project Retrieved and Created Successfully') self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'src'))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'classes'))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'pages'))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'reports'))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'documents'))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'documents', 'MavensMate_Documents')))
def test_should_create_new_project(self): package = { "ApexClass" : "*", "ApexPage" : "*", } mock_helper.mock_login_and_describe() # mock retrieve call MavensMateClient.retrieve = mock.Mock(return_value=MockRetrieveResponse()) MavensMateClient.get_metadata_container_id = mock.Mock(return_value='12345') mm_response = test_helper.create_project(self, project_name, package) self.assertEquals(True, mm_response['success']) self.assertEquals('Project Retrieved and Created Successfully', mm_response['body']) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name, 'src'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'components'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name, 'config', '.settings'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name, 'config', '.session'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name, 'config', '.describe'))) shutil.rmtree(os.path.join(base_test_directory,"test_workspace",project_name))
def test_04_should_create_new_project_based_on_package_xml_file(self): package = os.path.join(base_test_directory, 'functional', 'project', 'package.xml') project_name = 'unit test project' mm_response = test_helper.create_project(self, project_name, package=package) self.assertTrue(mm_response['success'] == True) self.assertTrue(mm_response['body'] == 'Project Retrieved and Created Successfully') self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'src'))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'classes')))
def test_01_should_create_new_stack_trace(self): test_helper.create_project(self, "unit test tooling project") pass
def test_01_should_delete_trace_flags(self): test_helper.create_project(self, "unit test tooling project") stdin = {"project_name": "unit test tooling project"} mm_response = self.runCommand('delete_trace_flags', stdin) self.assertTrue(mm_response['success'] == True)
def test_should_except_for_empty_package_dict(self): package = {} mock_helper.mock_login_and_describe() mm_response = test_helper.create_project(self, "test_should_except_for_empty_package_dict", package=package) self.assertTrue(mm_response['success'] == False) self.assertTrue(mm_response['body'] == 'Invalid package')
def test_should_retrieve_empty_project(self): package = os.path.join(os.path.join(base_test_directory, 'unit', 'project', 'empty_package.xml')) mock_helper.mock_login_and_describe() mm_response = test_helper.create_project(self, "test_should_retrieve_empty_project", package=package) self.assertTrue(mm_response['success'] == True)