def do_test_init(self, basedir): # Let's init the addon, no error admited f = open(".ignoreme", "w") f.write("stuff") f.close() out, err = StringIO(), StringIO() init_run = initializer(None, ["init"], out, err) out, err = out.getvalue(), err.getvalue() self.assertEqual(init_run, 0) self.assertTrue("* lib directory created" in out) self.assertTrue("* data directory created" in out) self.assertTrue("Have fun!" in out) self.assertEqual(err, "") self.assertTrue(len(os.listdir(basedir)) > 0) main_js = os.path.join(basedir, "lib", "main.js") package_json = os.path.join(basedir, "package.json") test_main_js = os.path.join(basedir, "test", "test-main.js") self.assertTrue(os.path.exists(main_js)) self.assertTrue(os.path.exists(package_json)) self.assertTrue(os.path.exists(test_main_js)) self.assertEqual(open(main_js, "r").read(), MAIN_JS) self.assertEqual( open(package_json, "r").read(), PACKAGE_JSON % {"name": "tmp_addon_sample"}) self.assertEqual(open(test_main_js, "r").read(), TEST_MAIN_JS) # Let's check that the addon is initialized out, err = StringIO(), StringIO() init_run = initializer(None, ["init"], out, err) out, err = out.getvalue(), err.getvalue() self.failIfEqual(init_run, 0) self.assertTrue( "This command must be run in an empty directory." in err)
def do_test_init(self,basedir): # Let's init the addon, no error admitted f = open(".ignoreme","w") f.write("stuff") f.close() out, err = StringIO(), StringIO() init_run = initializer(None, ["init"], out, err) out, err = out.getvalue(), err.getvalue() self.assertEqual(init_run["result"], 0) self.assertTrue("* lib directory created" in out) self.assertTrue("* data directory created" in out) self.assertTrue("Have fun!" in out) self.assertEqual(err,"") self.assertTrue(len(os.listdir(basedir))>0) main_js = os.path.join(basedir,"lib","main.js") package_json = os.path.join(basedir,"package.json") test_main_js = os.path.join(basedir,"test","test-main.js") self.assertTrue(os.path.exists(main_js)) self.assertTrue(os.path.exists(package_json)) self.assertTrue(os.path.exists(test_main_js)) self.assertEqual(open(main_js,"r").read(),"") self.assertEqual(open(package_json,"r").read() % {"id":"tmp_addon_id" }, PACKAGE_JSON % {"name":"tmp_addon_sample", "fullName": "tmp_addon_SAMPLE", "id":init_run["jid"] }) self.assertEqual(open(test_main_js,"r").read(),TEST_MAIN_JS) # Let's check that the addon is initialized out, err = StringIO(), StringIO() init_run = initializer(None, ["init"], out, err) out, err = out.getvalue(), err.getvalue() self.failIfEqual(init_run["result"],0) self.assertTrue("This command must be run in an empty directory." in err)
def test_init_subdir(self): parent = os.path.abspath(os.path.join(".test_tmp", self.id())) basedir = os.path.join(parent, "init-basedir") if os.path.exists(parent): shutil.rmtree(parent) os.makedirs(parent) # if the basedir exists and is not empty, init should refuse os.makedirs(basedir) f = open(os.path.join(basedir, "boo"), "w") f.write("stuff") f.close() out, err = StringIO(), StringIO() rc = initializer(None, ["init", basedir], out, err) out, err = out.getvalue(), err.getvalue() self.assertEqual(rc["result"], 1) self.assertTrue("testing if directory is empty" in out, out) self.assertTrue( "This command must be run in an empty directory." in err, err) # a .dotfile should be tolerated os.rename(os.path.join(basedir, "boo"), os.path.join(basedir, ".phew")) out, err = StringIO(), StringIO() rc = initializer(None, ["init", basedir], out, err) out, err = out.getvalue(), err.getvalue() self.assertEqual(rc["result"], 0) self.assertTrue("* data directory created" in out, out) self.assertTrue("Have fun!" in out) self.assertEqual(err, "") self.assertTrue(os.listdir(basedir)) main_js = os.path.join(basedir, "lib", "main.js") package_json = os.path.join(basedir, "package.json") self.assertTrue(os.path.exists(main_js)) self.assertTrue(os.path.exists(package_json)) shutil.rmtree(basedir) # init should create directories that don't exist already out, err = StringIO(), StringIO() rc = initializer(None, ["init", basedir], out, err) out, err = out.getvalue(), err.getvalue() self.assertEqual(rc["result"], 0) self.assertTrue("* data directory created" in out) self.assertTrue("Have fun!" in out) self.assertEqual(err, "") self.assertTrue(os.listdir(basedir)) main_js = os.path.join(basedir, "lib", "main.js") package_json = os.path.join(basedir, "package.json") self.assertTrue(os.path.exists(main_js)) self.assertTrue(os.path.exists(package_json))
def test_init_subdir(self): parent = os.path.abspath(os.path.join(".test_tmp", self.id())) basedir = os.path.join(parent, "init-basedir") if os.path.exists(parent): shutil.rmtree(parent) os.makedirs(parent) # if the basedir exists and is not empty, init should refuse os.makedirs(basedir) f = open(os.path.join(basedir, "boo"), "w") f.write("stuff") f.close() out, err = StringIO(), StringIO() rc = initializer(None, ["init", basedir], out, err) out, err = out.getvalue(), err.getvalue() self.assertEqual(rc["result"], 1) self.assertTrue("testing if directory is empty" in out, out) self.assertTrue("This command must be run in an empty directory." in err, err) # a .dotfile should be tolerated os.rename(os.path.join(basedir, "boo"), os.path.join(basedir, ".phew")) out, err = StringIO(), StringIO() rc = initializer(None, ["init", basedir], out, err) out, err = out.getvalue(), err.getvalue() self.assertEqual(rc["result"], 0) self.assertTrue("* data directory created" in out, out) self.assertTrue("Have fun!" in out) self.assertEqual(err,"") self.assertTrue(os.listdir(basedir)) main_js = os.path.join(basedir,"lib","main.js") package_json = os.path.join(basedir,"package.json") self.assertTrue(os.path.exists(main_js)) self.assertTrue(os.path.exists(package_json)) shutil.rmtree(basedir) # init should create directories that don't exist already out, err = StringIO(), StringIO() rc = initializer(None, ["init", basedir], out, err) out, err = out.getvalue(), err.getvalue() self.assertEqual(rc["result"], 0) self.assertTrue("* data directory created" in out) self.assertTrue("Have fun!" in out) self.assertEqual(err,"") self.assertTrue(os.listdir(basedir)) main_js = os.path.join(basedir,"lib","main.js") package_json = os.path.join(basedir,"package.json") self.assertTrue(os.path.exists(main_js)) self.assertTrue(os.path.exists(package_json))
def do_test_args(self, basedir): # check that running it with spurious arguments will fail out, err = StringIO(), StringIO() init_run = initializer(None, ["init", "ignored-dirname"], out, err) out, err = out.getvalue(), err.getvalue() self.failIfEqual(init_run, 0) self.assertTrue("Too many arguments" in err)
def do_test_args(self, basedir): # check that running it with spurious arguments will fail out,err = StringIO(), StringIO() init_run = initializer(None, ["init", "specified-dirname", "extra-arg"], out, err) out, err = out.getvalue(), err.getvalue() self.failIfEqual(init_run["result"], 0) self.assertTrue("Too many arguments" in err)
def _test_existing_files(self, basedir): f = open("pay_attention_to_me", "w") f.write("stuff") f.close() out, err = StringIO(), StringIO() rc = initializer(None, ["init"], out, err) out, err = out.getvalue(), err.getvalue() self.assertEqual(rc, 1) self.failUnless( "This command must be run in an empty directory" in err, err) self.failIf(os.path.exists("lib"))
def _test_existing_files(self, basedir): f = open("pay_attention_to_me","w") f.write("stuff") f.close() out,err = StringIO(), StringIO() rc = initializer(None, ["init"], out, err) out, err = out.getvalue(), err.getvalue() self.assertEqual(rc["result"], 1) self.failUnless("This command must be run in an empty directory" in err, err) self.failIf(os.path.exists("lib"))
def test_cfx_init(self): # Create an empty test directory addon_path = os.path.abspath(os.path.join(".test_tmp", "test-cfx-init")) if os.path.isdir(addon_path): shutil.rmtree(addon_path) os.makedirs(addon_path) # Fake a call to cfx init old_cwd = os.getcwd() os.chdir(addon_path) out, err = StringIO(), StringIO() rc = initializer(None, ["init"], out, err) os.chdir(old_cwd) out, err = out.getvalue(), err.getvalue() self.assertEqual(rc["result"], 0) self.assertTrue("Have fun!" in out) self.assertEqual(err,"") # run cfx test rc, out, err = self.run_cfx(addon_path, ["test"]) self.assertEqual(rc, 0) self.assertIn("2 of 2 tests passed.", err) self.assertIn("Program terminated successfully.", err)