示例#1
0
    def test_content_written(self):

        with patch.object(builtins, 'open', mock_open()) as m:
            password._write_password_file(b'/this/is/a/test/caf\xc3\xa9',
                                          u'Testing Café')

            m.assert_called_once_with(b'/this/is/a/test/caf\xc3\xa9', 'wb')
            m().write.assert_called_once_with(
                u'Testing Café\n'.encode('utf-8'))
示例#2
0
 def test_lock_been_held(self, mock_sleep):
     # pretend the lock file is here
     password.os.path.exists = lambda x: True
     try:
         with patch.object(
                 builtins, 'open',
                 mock_open(read_data=b'hunter42 salt=87654321\n')) as m:
             # should timeout here
             results = self.password_lookup.run(
                 [u'/path/to/somewhere chars=anything'], None)
             self.fail("Lookup didn't timeout when lock already been held")
     except AnsibleError:
         pass
示例#3
0
    def test_password_already_created_no_encrypt(self, mock_get_paths,
                                                 mock_write_file):
        mock_get_paths.return_value = ['/path/one', '/path/two', '/path/three']
        password.os.path.exists = lambda x: x == to_bytes('/path/to/somewhere')

        with patch.object(
                builtins, 'open',
                mock_open(read_data=b'hunter42 salt=87654321\n')) as m:
            results = self.password_lookup.run(
                [u'/path/to/somewhere chars=anything'], None)

        for result in results:
            self.assertEqual(result, u'hunter42')
示例#4
0
    def test_lock_not_been_held(self):
        # pretend now there is password file but no lock
        password.os.path.exists = lambda x: x == to_bytes('/path/to/somewhere')
        try:
            with patch.object(
                    builtins, 'open',
                    mock_open(read_data=b'hunter42 salt=87654321\n')) as m:
                # should not timeout here
                results = self.password_lookup.run(
                    [u'/path/to/somewhere chars=anything'], None)
        except AnsibleError:
            self.fail('Lookup timeouts when lock is free')

        for result in results:
            self.assertEqual(result, u'hunter42')
示例#5
0
    def test_password_already_created_encrypt(self, mock_get_paths,
                                              mock_write_file):
        mock_get_paths.return_value = ['/path/one', '/path/two', '/path/three']
        password.os.path.exists = lambda x: x == to_bytes('/path/to/somewhere')

        with patch.object(
                builtins, 'open',
                mock_open(read_data=b'hunter42 salt=87654321\n')) as m:
            results = self.password_lookup.run(
                [u'/path/to/somewhere chars=anything encrypt=pbkdf2_sha256'],
                None)
        for result in results:
            self.assertEqual(
                result,
                u'$pbkdf2-sha256$20000$ODc2NTQzMjE$Uikde0cv0BKaRaAXMrUQB.zvG4GmnjClwjghwIRf2gU'
            )
示例#6
0
 def test_with_password_file(self):
     password.os.path.exists = lambda x: True
     with patch.object(builtins, 'open',
                       mock_open(read_data=b'Testing\n')) as m:
         self.assertEqual(password._read_password_file(b'/etc/motd'),
                          u'Testing')