Пример #1
0
    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')))
Пример #2
0
 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']])
Пример #3
0
    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')
Пример #4
0
 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)
Пример #5
0
 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)
Пример #6
0
 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
     })
Пример #7
0
 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")
Пример #8
0
 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')
Пример #9
0
 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
         })
Пример #10
0
    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)
Пример #11
0
    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)
Пример #12
0
    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'])
Пример #13
0
 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")
Пример #14
0
    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)
Пример #15
0
    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'])
Пример #16
0
    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'])
Пример #17
0
    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)
Пример #18
0
    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)
Пример #19
0
    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)
Пример #20
0
 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']])
Пример #21
0
    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"))
Пример #22
0
    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"))
Пример #23
0
 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")
Пример #24
0
    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')))
Пример #25
0
    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"])
Пример #26
0
    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")