def test_05_should_create_project_from_existing_directory(self): if os.path.exists(os.path.join(base_test_directory,"functional","project","existing-project-copy")): shutil.rmtree(os.path.join(base_test_directory,"functional","project","existing-project-copy")) if not os.path.exists(os.path.join(base_test_directory, 'functional', 'project', 'existing-project-copy')): shutil.copytree(os.path.join(base_test_directory, 'functional', 'project', 'existing-project'), os.path.join(base_test_directory, 'functional', 'project', 'existing-project-copy')) stdin = { "project_name" : "existing-project-copy", "username" : test_helper.get_creds()['username'], "password" : test_helper.get_creds()['password'], "org_type" : test_helper.get_creds()['org_type'], "directory" : os.path.join(base_test_directory, 'functional', 'project', 'existing-project-copy'), "action" : "new", "workspace" : os.path.join(base_test_directory, 'test_workspace'), "action" : "existing" } project_name = 'existing-project-copy' mm_response = self.runCommand('new_project_from_existing_directory', stdin) self.assertTrue(mm_response['success'] == True) self.assertTrue(mm_response['body'] == 'Project 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', 'objects'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name, 'config'))) self.assertTrue(os.path.isfile(os.path.join(base_test_directory, 'test_workspace', project_name, 'config', '.session'))) self.assertTrue(os.path.isfile(os.path.join(base_test_directory, 'test_workspace', project_name, 'config', '.settings'))) self.assertTrue(os.path.isfile(os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'package.xml')))
def test_03_should_try_deploy_receive_compare_result(self): test_helper.create_apex_metadata(self, "unit test deploy project", "ApexClass", "test_deployapexclass") org_connections = test_util.parse_json_from_file( os.path.join(self.settings['user']['mm_workspace'], "unit test deploy project", "config", ".org_connections")) stdin = { "project_name": "unit test deploy project", "destinations": [{ "id": org_connections[0]["id"], "username": org_connections[0]["username"], "org_type": org_connections[0]["environment"] }], "check_only": True, "run_tests": False, "rollback_on_error": True, "package": { "ApexClass": ["test_deployapexclass"] }, "debug_categories": "" } mm_response = self.runCommand(['mm.py', '-o', 'deploy'], stdin) self.assertTrue(test_helper.get_creds()['username'] in mm_response) self.assertTrue('unpackaged/classes/test_deployapexclass.cls' in mm_response[test_helper.get_creds()['username']])
def test_should_prompt_for_org_type(self): stdin = { "username": test_helper.get_creds()['username'], "password": test_helper.get_creds()['password'] } mm_response = self.runCommand('get_active_session', stdin) self.assertEqual(mm_response['success'], False) self.assertEqual(mm_response['body'], 'Please select an org type')
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 __init__(self, *args, **kwargs): super(TestClientOperations, self).__init__(*args, **kwargs) self.username = test_helper.get_creds()['username'] self.password = test_helper.get_creds()['password'] self.org_type = test_helper.get_creds()['org_type'] self.client = MavensMateClient(credentials={ "username" : self.username, "password" : self.password, "org_type" : self.org_type })
def test_04_should_update_project_credentials(self): stdin = { "project_name": "unit test project", "username": test_helper.get_creds()["username"], "password": test_helper.get_creds()["password"], "org_type": test_helper.get_creds()["org_type"], } mm_response = self.runCommand("update_credentials", stdin) self.assertTrue(mm_response["success"] == True) self.assertTrue(mm_response["body"] == "Your credentials were updated successfully")
def test_04_should_update_project_credentials(self): stdin = { "project_name": "unit test project", "username": test_helper.get_creds()['username'], "password": test_helper.get_creds()['password'], "org_type": test_helper.get_creds()['org_type'] } mm_response = self.runCommand('update_credentials', stdin) self.assertTrue(mm_response['success'] == True) self.assertTrue(mm_response['body'] == 'Your credentials were updated successfully')
def __init__(self, *args, **kwargs): super(TestClientOperations, self).__init__(*args, **kwargs) self.username = test_helper.get_creds()['username'] self.password = test_helper.get_creds()['password'] self.org_type = test_helper.get_creds()['org_type'] self.client = MavensMateClient( credentials={ "username": self.username, "password": self.password, "org_type": self.org_type })
def test_should_get_active_session(self): stdin = { "username": test_helper.get_creds()['username'], "password": test_helper.get_creds()['password'], "org_type": test_helper.get_creds()['org_type'] } mock_helper.mock_login_and_describe() mm_response = self.runCommand('get_active_session', stdin) self.assertEqual(mm_response['success'], True) self.assertEqual(len(mm_response['user_id']), 18)
def test_should_get_active_session(self): stdin = { "username": test_helper.get_creds()["username"], "password": test_helper.get_creds()["password"], "org_type": test_helper.get_creds()["org_type"], } mock_helper.mock_login_and_describe() mm_response = self.runCommand("get_active_session", stdin) self.assertEqual(mm_response["success"], True) self.assertEqual(len(mm_response["user_id"]), 18)
def test_should_prompt_for_username(self): stdin = {"password": test_helper.get_creds()['password']} mm_response = self.runCommand('get_active_session', stdin) self.assertEqual(mm_response['success'], False) self.assertTrue( 'Please enter a Salesforce.com username' in mm_response['body'])
def test_02_should_not_get_active_session_bc_bad_request(self): stdin = { "username" : test_helper.get_creds()['username'] } mm_response = self.runCommand('get_active_session', stdin) self.assertEqual(mm_response['success'], False) self.assertEqual(mm_response['body'], "Please enter a Salesforce.com password")
def test_03_should_get_active_session_and_list_apex_classes(self): stdin = { "username" : test_helper.get_creds()['username'], "password" : test_helper.get_creds()['password'], "org_type" : test_helper.get_creds()['org_type'] } mm_response = self.runCommand('get_active_session', stdin) self.assertEqual(mm_response['success'], True) self.assertEqual(len(mm_response['user_id']), 18) stdin = { 'sid' : mm_response['sid'], 'metadata_server_url' : mm_response['metadata_server_url'], 'metadata_type' : 'ApexClass', 'server_url' : mm_response['server_url'], 'defer_connection' : True } mm_response = self.runCommand('list_metadata', stdin, return_format='json') self.assertEqual(type(mm_response), list)
def test_06_should_try_to_create_project_from_invalid_directory(self): if os.path.exists( os.path.join(base_test_directory, "functional", "project", "existing-project-invalid-copy")): shutil.rmtree( os.path.join(base_test_directory, "functional", "project", "existing-project-invalid-copy")) if not os.path.exists( os.path.join(base_test_directory, 'functional', 'project', 'existing-project-invalid-copy')): shutil.copytree( os.path.join(base_test_directory, 'functional', 'project', 'existing-project-invalid'), os.path.join(base_test_directory, 'functional', 'project', 'existing-project-invalid-copy')) stdin = { "project_name": "existing-project-invalid-copy", "username": test_helper.get_creds()['username'], "password": test_helper.get_creds()['password'], "org_type": test_helper.get_creds()['org_type'], "directory": os.path.join(base_test_directory, 'functional', 'project', 'existing-project-invalid-copy'), "action": "new", "workspace": os.path.join(base_test_directory, 'test_workspace'), "action": "existing" } mm_response = self.runCommand('new_project_from_existing_directory', stdin) self.assertEquals(False, mm_response['success']) self.assertEquals( 'Could not find package.xml in project src directory.', mm_response['body'])
def test_06_should_try_to_create_project_from_invalid_directory(self): if os.path.exists(os.path.join(base_test_directory,"functional","project","existing-project-invalid-copy")): shutil.rmtree(os.path.join(base_test_directory,"functional","project","existing-project-invalid-copy")) if not os.path.exists(os.path.join(base_test_directory, 'functional', 'project', 'existing-project-invalid-copy')): shutil.copytree(os.path.join(base_test_directory, 'functional', 'project', 'existing-project-invalid'), os.path.join(base_test_directory, 'functional', 'project', 'existing-project-invalid-copy')) stdin = { "project_name" : "existing-project-invalid-copy", "username" : test_helper.get_creds()['username'], "password" : test_helper.get_creds()['password'], "org_type" : test_helper.get_creds()['org_type'], "directory" : os.path.join(base_test_directory, 'functional', 'project', 'existing-project-invalid-copy'), "action" : "new", "workspace" : os.path.join(base_test_directory, 'test_workspace'), "action" : "existing" } mm_response = self.runCommand('new_project_from_existing_directory', stdin) self.assertEquals(False, mm_response['success']) self.assertEquals('Could not find package.xml in project src directory.', mm_response['body'])
def test_should_return_bad_creds_message(self): stdin = { "username": '******', "password": '******', "org_type": test_helper.get_creds()['org_type'] } mock_helper.mock_invalid_login() mm_response = self.runCommand('get_active_session', stdin) self.assertEqual(mm_response['success'], False)
def test_should_return_bad_creds_message(self): stdin = { "username": "******", "password": "******", "org_type": test_helper.get_creds()["org_type"], } mock_helper.mock_invalid_login() mm_response = self.runCommand("get_active_session", stdin) self.assertEqual(mm_response["success"], False)
def test_03_should_get_active_session_and_list_apex_classes(self): stdin = { "username": test_helper.get_creds()['username'], "password": test_helper.get_creds()['password'], "org_type": test_helper.get_creds()['org_type'] } mm_response = self.runCommand('get_active_session', stdin) self.assertEqual(mm_response['success'], True) self.assertEqual(len(mm_response['user_id']), 18) stdin = { 'sid': mm_response['sid'], 'metadata_server_url': mm_response['metadata_server_url'], 'metadata_type': 'ApexClass', 'server_url': mm_response['server_url'], 'defer_connection': True } mm_response = self.runCommand('list_metadata', stdin, return_format='json') self.assertEqual(type(mm_response), list)
def test_03_should_try_deploy_receive_compare_result(self): test_helper.create_apex_metadata(self, "unit test deploy project", "ApexClass", "test_deployapexclass") org_connections = test_util.parse_json_from_file(os.path.join(self.settings['user']['mm_workspace'],"unit test deploy project","config",".org_connections")) stdin = { "project_name" : "unit test deploy project", "destinations" : [ { "id" : org_connections[0]["id"], "username" : org_connections[0]["username"], "org_type" : org_connections[0]["environment"] } ], "check_only" : True, "run_tests" : False, "rollback_on_error" : True, "package" : { "ApexClass" : ["test_deployapexclass"] }, "debug_categories" : "" } mm_response = self.runCommand(['mm.py', '-o', 'deploy'], stdin) self.assertTrue(test_helper.get_creds()['username'] in mm_response) self.assertTrue('unpackaged/classes/test_deployapexclass.cls' in mm_response[test_helper.get_creds()['username']])
def test_should_create_project_from_existing_directory(self): if os.path.exists(os.path.join(base_test_directory,"unit","project","existing-project-copy")): shutil.rmtree(os.path.join(base_test_directory,"unit","project","existing-project-copy")) if not os.path.exists(os.path.join(base_test_directory, 'unit', 'project', 'existing-project-copy')): shutil.copytree(os.path.join(base_test_directory, 'unit', 'project', 'existing-project'), os.path.join(base_test_directory, 'unit', 'project', 'existing-project-copy')) stdin = { "project_name" : "existing-project-copy", "username" : test_helper.get_creds()['username'], "password" : test_helper.get_creds()['password'], "org_type" : test_helper.get_creds()['org_type'], "directory" : os.path.join(base_test_directory, 'unit', 'project', 'existing-project-copy'), "workspace" : os.path.join(base_test_directory, 'test_workspace'), "action" : "existing" } mock_helper.mock_login_and_describe() MavensMateClient.retrieve = mock.Mock(return_value=MockRetrieveResponse()) MavensMateClient.get_metadata_container_id = mock.Mock(return_value='12345') project_name = 'existing-project-copy' mm_response = self.runCommand('new_project_from_existing_directory', stdin) self.assertTrue(mm_response['success'] == True) self.assertTrue(mm_response['body'] == 'Project 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', 'objects'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', project_name, 'config'))) self.assertTrue(os.path.isfile(os.path.join(base_test_directory, 'test_workspace', project_name, 'config', '.session'))) self.assertTrue(os.path.isfile(os.path.join(base_test_directory, 'test_workspace', project_name, 'config', '.settings'))) self.assertTrue(os.path.isfile(os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'package.xml'))) shutil.rmtree(os.path.join(base_test_directory,"test_workspace","existing-project-copy"))
def test_should_create_project_from_existing_directory(self): if os.path.exists(os.path.join(base_test_directory,"unit","project","existing-project-copy")): shutil.rmtree(os.path.join(base_test_directory,"unit","project","existing-project-copy")) if not os.path.exists(os.path.join(base_test_directory, 'unit', 'project', 'existing-project-copy')): shutil.copytree(os.path.join(base_test_directory, 'unit', 'project', 'existing-project'), os.path.join(base_test_directory, 'unit', 'project', 'existing-project-copy')) stdin = { "project_name" : "existing-project-copy", "username" : test_helper.get_creds()['username'], "password" : test_helper.get_creds()['password'], "org_type" : test_helper.get_creds()['org_type'], "directory" : os.path.join(base_test_directory, 'unit', 'project', 'existing-project-copy'), "workspace" : os.path.join(base_test_directory, 'test_workspace'), "action" : "existing" } mock_helper.mock_login_and_describe() MavensMateClient.retrieve = mock.Mock(return_value=MockRetrieveResponse()) MavensMateClient.get_metadata_container_id = mock.Mock(return_value='12345') pn = 'existing-project-copy' mm_response = self.runCommand('new_project_from_existing_directory', stdin) self.assertTrue(mm_response['success'] == True) self.assertTrue(mm_response['body'] == 'Project Created Successfully') self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', pn))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', pn, 'src'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', pn, 'src', 'classes'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', pn, 'src', 'objects'))) self.assertTrue(os.path.exists(os.path.join(base_test_directory, 'test_workspace', pn, 'config'))) self.assertTrue(os.path.isfile(os.path.join(base_test_directory, 'test_workspace', pn, 'config', '.session'))) self.assertTrue(os.path.isfile(os.path.join(base_test_directory, 'test_workspace', pn, 'config', '.settings'))) self.assertTrue(os.path.isfile(os.path.join(base_test_directory, 'test_workspace', pn, 'src', 'package.xml'))) shutil.rmtree(os.path.join(base_test_directory,"test_workspace","existing-project-copy"))
def test_02_should_not_get_active_session_bc_bad_request(self): stdin = {"username": test_helper.get_creds()['username']} mm_response = self.runCommand('get_active_session', stdin) self.assertEqual(mm_response['success'], False) self.assertEqual(mm_response['body'], "Please enter a Salesforce.com password")
def test_05_should_create_project_from_existing_directory(self): if os.path.exists( os.path.join(base_test_directory, "functional", "project", "existing-project-copy")): shutil.rmtree( os.path.join(base_test_directory, "functional", "project", "existing-project-copy")) if not os.path.exists( os.path.join(base_test_directory, 'functional', 'project', 'existing-project-copy')): shutil.copytree( os.path.join(base_test_directory, 'functional', 'project', 'existing-project'), os.path.join(base_test_directory, 'functional', 'project', 'existing-project-copy')) stdin = { "project_name": "existing-project-copy", "username": test_helper.get_creds()['username'], "password": test_helper.get_creds()['password'], "org_type": test_helper.get_creds()['org_type'], "directory": os.path.join(base_test_directory, 'functional', 'project', 'existing-project-copy'), "action": "new", "workspace": os.path.join(base_test_directory, 'test_workspace'), "action": "existing" } project_name = 'existing-project-copy' mm_response = self.runCommand('new_project_from_existing_directory', stdin) self.assertTrue(mm_response['success'] == True) self.assertTrue(mm_response['body'] == 'Project 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', 'objects'))) self.assertTrue( os.path.exists( os.path.join(base_test_directory, 'test_workspace', project_name, 'config'))) self.assertTrue( os.path.isfile( os.path.join(base_test_directory, 'test_workspace', project_name, 'config', '.session'))) self.assertTrue( os.path.isfile( os.path.join(base_test_directory, 'test_workspace', project_name, 'config', '.settings'))) self.assertTrue( os.path.isfile( os.path.join(base_test_directory, 'test_workspace', project_name, 'src', 'package.xml')))
def test_should_prompt_for_username(self): stdin = {"password": test_helper.get_creds()["password"]} mm_response = self.runCommand("get_active_session", stdin) self.assertEqual(mm_response["success"], False) self.assertTrue("Please enter a Salesforce.com username" in mm_response["body"])
def test_should_prompt_for_org_type(self): stdin = {"username": test_helper.get_creds()["username"], "password": test_helper.get_creds()["password"]} mm_response = self.runCommand("get_active_session", stdin) self.assertEqual(mm_response["success"], False) self.assertEqual(mm_response["body"], "Please select an org type")