示例#1
0
def test_get_permissions():
    f = NamedTemporaryFile(delete=False)
    f.close()
    os.chmod(
        f.name,
        stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR |
        stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH
    )
    assert get_permissions(f.name) == 0o754
    os.unlink(f.name)
示例#2
0
 def test_policy_prompt_no_directory(self, mock_prompt_yes_no):
     os.mkdir(self.build_dir)
     test_directory = os.path.join(self.build_dir, 'directory1')
     os.mkdir(test_directory)
     os.chmod(test_directory, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR)
     self.build_scaffold(
         'test-template-2', overwrite_target_root=True,
         existing_policy=Scaffold.EXISTING_PROMPT
     )
     assert self.exists('directory1', type='dir')
     assert get_permissions(test_directory) == 0o700
     assert self.logged('Skipping existing directory')
示例#3
0
 def test_policy_overwrite_directory(self):
     os.mkdir(self.build_dir)
     test_directory = os.path.join(self.build_dir, 'directory1')
     os.mkdir(test_directory)
     os.chmod(test_directory, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR)
     self.build_scaffold(
         'test-template-2', overwrite_target_root=True,
         existing_policy=Scaffold.EXISTING_OVERWRITE,
         compare_directory_permissions=True
     )
     assert self.exists('directory1', type='dir')
     assert get_permissions(test_directory) == 0o775
     assert self.logged('Updating permissions of directory')
示例#4
0
 def test_policy_overwrite_template_permissions(self):
     os.mkdir(self.build_dir)
     test_file = os.path.join(self.build_dir, 'filea')
     with open(test_file, 'w') as f:
         f.write('My name is happyman\n')
     os.chmod(test_file, stat.S_IRUSR | stat.S_IWUSR)
     self.build_scaffold(
         'test-template-6', overwrite_target_root=True,
         existing_policy=Scaffold.EXISTING_OVERWRITE,
         variables={'name': 'happyman', 'age': 25}
     )
     assert self.exists('filea', type='file')
     assert 'My name is happyman' in self.contents('filea')
     assert get_permissions(test_file) == 0o664
     assert self.logged('Updating permissions of template')
示例#5
0
 def test_policy_prompt_no_template_permissions(self, mock_prompt_yes_no):
     os.mkdir(self.build_dir)
     test_file = os.path.join(self.build_dir, 'filea')
     with open(test_file, 'w') as f:
         f.write('My name is happyman\n')
     os.chmod(test_file, stat.S_IRUSR | stat.S_IWUSR)
     self.build_scaffold(
         'test-template-6', overwrite_target_root=True,
         existing_policy=Scaffold.EXISTING_PROMPT,
         variables={'name': 'happyman', 'age': 25}
     )
     assert self.exists('filea', type='file')
     assert 'My name is happyman' in self.contents('filea')
     assert get_permissions(test_file) == 0o600
     assert self.logged('Skipping existing file')
示例#6
0
 def test_policy_overwrite_file_content(self):
     os.mkdir(self.build_dir)
     test_file = os.path.join(self.build_dir, 'filec.txt')
     with open(test_file, 'w') as f:
         f.write('Some random text')
     os.chmod(test_file, stat.S_IRUSR | stat.S_IWUSR)
     self.build_scaffold(
         'test-template-6', overwrite_target_root=True,
         existing_policy=Scaffold.EXISTING_OVERWRITE,
         variables={'name': 'happyman', 'age': 25}
     )
     assert self.exists('filec.txt', type='file')
     assert 'Hello there {{{ name }}}' in self.contents('filec.txt')
     assert get_permissions(test_file) == 0o664
     assert self.logged('Copying and overwriting file')
示例#7
0
 def test_policy_prompt_yes_file_permissions(self, mock_prompt_yes_no):
     os.mkdir(self.build_dir)
     test_file = os.path.join(self.build_dir, 'filec.txt')
     with open(test_file, 'w') as f:
         f.write('Hello there {{{ name }}}\n')
     os.chmod(test_file, stat.S_IRUSR | stat.S_IWUSR)
     self.build_scaffold(
         'test-template-6', overwrite_target_root=True,
         existing_policy=Scaffold.EXISTING_PROMPT,
         variables={'name': 'happyman', 'age': 25}
     )
     assert self.exists('filec.txt', type='file')
     assert 'Hello there {{{ name }}}' in self.contents('filec.txt')
     assert get_permissions(test_file) == 0o664
     assert self.logged('Updating permissions of file')
示例#8
0
 def test_skip_identical_directory(self):
     os.mkdir(self.build_dir)
     test_directory = os.path.join(self.build_dir, 'directory1')
     os.mkdir(test_directory)
     os.chmod(
         test_directory,
         stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR |
         stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP |
         stat.S_IROTH | stat.S_IXOTH
     )
     self.build_scaffold(
         'test-template-2', overwrite_target_root=True,
         compare_directory_permissions=True
     )
     assert self.exists('directory1', type='dir')
     assert get_permissions(test_directory) == 0o775
     assert self.logged('Skipping identical directory')
示例#9
0
 def test_skip_identical_template(self):
     os.mkdir(self.build_dir)
     test_file = os.path.join(self.build_dir, 'filea')
     with open(test_file, 'w') as f:
         f.write('My name is happyman\n')
     os.chmod(
         test_file,
         stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IWGRP |
         stat.S_IROTH
     )
     self.build_scaffold(
         'test-template-6', overwrite_target_root=True,
         variables={'name': 'happyman', 'age': 25}
     )
     assert self.exists('filea')
     assert get_permissions(test_file) == 0o664
     assert self.logged('Skipping identical file')