def test_mc_init(self): proj_list = mcapi.get_all_projects() proj_dict = {p.name:p for p in proj_list} self.assertFalse('CLITest' in proj_dict) testargs = ['mc', 'init'] with captured_output(wd=self.proj_path) as (sout, serr): init_subcommand(testargs) #print_stringIO(sout) out = sout.getvalue().splitlines() remote = mcapi.use_remote() url = remote.config.mcurl self.assertEqual(out[0], "Created new project at: " + url) testargs = ['mc', 'init'] with captured_output(wd=self.proj_path) as (sout, serr): init_subcommand(testargs) #print_stringIO(sout) out = sout.getvalue().splitlines() self.assertTrue(re.match("Already in project. name: CLITest", out[0])) proj_list = mcapi.get_all_projects() proj_dict = {p.name:p for p in proj_list} self.assertTrue('CLITest' in proj_dict) with working_dir(self.proj_path): proj = make_local_project() self.assertEqual(proj.name, 'CLITest')
def test_mc_expt(self): testargs = ['mc', 'init'] with captured_output(wd=self.proj_path) as (sout, serr): init_subcommand(testargs) #print_stringIO(sout) out = sout.getvalue().splitlines() remote = mcapi.use_remote() url = remote.config.mcurl self.assertEqual(out[0], "Created new project at: " + url) testargs = ['mc', 'expt', '-c', 'test_A'] with captured_output(wd=self.proj_path) as (sout, serr): expt_subcommand(testargs) #print_stringIO(sout) out = sout.getvalue().splitlines() self.assertTrue(re.match("Created experiment: test_A", out[0])) self.assertTrue(re.match("Set current experiment: 'test_A'", out[1])) testargs = ['mc', 'expt', '-c', 'test_B'] with captured_output(wd=self.proj_path) as (sout, serr): expt_subcommand(testargs) #print_stringIO(sout) out = sout.getvalue().splitlines() self.assertTrue(re.match("Created experiment: test_B", out[0])) self.assertTrue(re.match("Set current experiment: 'test_B'", out[1])) proj_list = mcapi.get_all_projects() proj_dict = {p.name: p for p in proj_list} expts_list = proj_dict['CLITest'].get_all_experiments() expts_dict = {e.name: e for e in expts_list} self.assertEqual(len(expts_list), 2) self.assertTrue('test_A' in expts_dict) self.assertTrue('test_B' in expts_dict) testargs = ['mc', 'expt', '-d', 'test_B', '-n'] with captured_output(wd=self.proj_path) as (sout, serr): expt_subcommand(testargs) #print_stringIO(sout) out = sout.getvalue().splitlines() proj_list = mcapi.get_all_projects() proj_dict = {p.name: p for p in proj_list} expts_list = proj_dict['CLITest'].get_all_experiments() expts_dict = {e.name: e for e in expts_list} self.assertEqual(len(expts_list), 2) self.assertTrue('test_A' in expts_dict) self.assertTrue('test_B' in expts_dict) testargs = ['mc', 'expt', '-d', 'test_B'] with captured_output(wd=self.proj_path) as (sout, serr): expt_subcommand(testargs) #print_stringIO(sout) out = sout.getvalue().splitlines() proj_list = mcapi.get_all_projects() proj_dict = {p.name: p for p in proj_list} expts_list = proj_dict['CLITest'].get_all_experiments() expts_dict = {e.name: e for e in expts_list} self.assertEqual(len(expts_list), 1) self.assertTrue('test_A' in expts_dict)
def test_mc_clone(self): proj_list = mcapi.get_all_projects() proj_dict = {p.name: p for p in proj_list} self.assertFalse('CLITest' in proj_dict) mkdir_if(self.cli_test_project_path) mkdir_if(self.proj_path) testargs = ['mc', 'init'] with captured_output(wd=self.proj_path) as (sout, serr): init_subcommand(testargs) #print_stringIO(sout) out = sout.getvalue().splitlines() remote = mcapi.use_remote() url = remote.config.mcurl self.assertEqual(out[0], "Created new project at: " + url) proj_list = mcapi.get_all_projects() proj_dict = {p.name: p for p in proj_list} self.clean_files() mkdir_if(self.cli_test_project_path) testargs = ['mc', 'clone', proj_dict['CLITest'].id] with captured_output(wd=self.cli_test_project_path) as (sout, serr): clone_subcommand(testargs) #print_stringIO(sout) out = sout.getvalue().splitlines() self.assertTrue(re.match("Cloned project", out[0])) self.assertEqual('CLITest', out[3].split()[0])
def test_mc_remote(self): testargs = ['mc', 'remote'] with captured_output() as (sout, serr): remote_subcommand(testargs) #print_stringIO(sout) out = sout.getvalue().splitlines() err = serr.getvalue().splitlines() remote = use_remote() url = remote.config.mcurl self.assertEqual(url, out[1].split()[1])
def test_build_demo_project(self): remote = use_remote() save_mcurl = remote.config.mcurl with pytest.raises(Exception) as exception_info: host = "http://noda.host" remote.config.mcurl = host + "/api" set_remote(remote) builder = demo.DemoProject(self._make_test_dir_path()) builder.build_project() remote.config.mcurl = save_mcurl set_remote(remote) self.assertTrue(str(exception_info.type).find("ConnectionError") > 0) self.assertTrue(str(exception_info.value).find("host='noda.host'") > 0)
def _set_up_remote_for(self, key): remote = use_remote() remote.config.mcapikey = key remote.config.params = {'apikey': key} set_remote(remote)