예제 #1
0
 def test__returns_full_path_for_development(self):
     self.patch(provisioningserver.config, "is_dev_environment")
     provisioningserver.config.is_dev_environment.return_value = True
     script_name = factory.make_name("script")
     self.assertEqual(
         root.rstrip("/") + "/scripts/" + script_name,
         get_library_script_path(script_name))
예제 #2
0
 def test_returns_usr_lib_maas_name_for_production(self):
     self.patch(provisioningserver.config, "is_dev_environment")
     provisioningserver.config.is_dev_environment.return_value = False
     script_name = factory.make_name("script")
     self.assertEqual(
         "/usr/lib/maas/" + script_name,
         get_library_script_path(script_name),
     )
예제 #3
0
    def test_calls_atomic_delete(self):
        patch_popen(self)
        patch_sudo(self)
        patch_dev(self, False)

        path = os.path.join(self.make_dir(), factory.make_name('file'))
        sudo_delete_file(path)

        self.assertThat(
            fs_module.Popen,
            MockCalledOnceWith([
                'sudo', '-n',
                get_library_script_path("maas-delete-file"), path
            ]))
예제 #4
0
    def test_calls_atomic_write(self):
        patch_popen(self)
        patch_sudo(self)
        patch_dev(self, False)

        path = os.path.join(self.make_dir(), factory.make_name('file'))
        contents = factory.make_bytes()
        sudo_write_file(path, contents)

        self.assertThat(
            fs_module.Popen,
            MockCalledOnceWith([
                'sudo', '-n',
                get_library_script_path("maas-write-file"), path, "0644"
            ],
                               stdin=PIPE))