Exemplo n.º 1
0
    def test_with_statement_exception(self, mock_start, mock_stop):
        if six.PY3:
            with self.assertRaisesRegex(RuntimeError,
                                        'something crazy happened'):
                with Docker():
                    raise RuntimeError('something crazy happened')
        else:
            with self.assertRaises(RuntimeError):
                with Docker():
                    raise RuntimeError('something crazy happened')

        mock_start.assert_called_once_with()
        mock_stop.assert_called_once_with()
Exemplo n.º 2
0
 def test_list_directories_unknown_error(self, mock_run, mock_execute):
     docker = Docker()
     docker.start()
     path = 'path'
     self.assertRaisesRegexp(DockerWrapperBaseError,
                             unknown_error_result.err,
                             docker.list_directories, path)
Exemplo n.º 3
0
 def test_read_file_unknown_error(self, mock_run, mock_execute, mock_cp):
     docker = Docker()
     docker.start()
     path = 'test-file'
     self.assertRaisesRegexp(DockerWrapperBaseError,
                             unknown_error_result.err, docker.read_file,
                             path)
Exemplo n.º 4
0
    def test_quotation_mark_handling(self, mock_run):
        docker = Docker()
        docker.run('echo "hi there"', login=True, tty=True)
        docker.run("echo 'hi there'", login=True, tty=True)
        expected = (
            'docker exec -i -t {} bash --login -c \'cd ~/ &&  echo "hi there"\''
            .format(docker.container_name), '')

        mock_run.assert_has_calls([mock.call(*expected), mock.call(*expected)])
Exemplo n.º 5
0
 def test_multiple_port_mapppings(self, mock_run):
     ports = ["4080:4080", "8080:8080", "4443:4443"]
     docker = Docker(ports_mapping=ports)
     docker.start()
     mock_run.assert_called_once_with(
         'docker run -d {0} --name {1} {2} /bin/sleep {3}'.format(
             ' '.join(
                 ["-p {0}".format(port_mapping) for port_mapping in ports]),
             docker.container_name, docker.image, docker.timeout))
Exemplo n.º 6
0
def main(repo):
    """
    Tests the Dockerfile. Builds it and clones the repository passed
    to the repo arguments and runs frigg-runner inside the cloned
    folder.
    """
    print(subprocess.call(['docker', 'build', '-t', 'test-base', '.']))
    with Docker('test-base') as docker:
        print(docker.run('git clone {repo} cloned'.format(repo=repo)).out)
        print(docker.run('pip install frigg-runner').out)
        print(docker.run('frigg', working_directory='cloned').out)
Exemplo n.º 7
0
 def test_single_port_mappping(self, mock_run):
     docker = Docker(ports_mapping=['4080:4080'])
     docker.start()
     mock_run.assert_called_once_with(
         'docker run -d -p 4080:4080 --name {0} {1} /bin/sleep {2}'.format(
             docker.container_name, docker.image, docker.timeout))
Exemplo n.º 8
0
 def test_no_login(self, mock_run):
     docker = Docker()
     docker.run('ls', login=False)
     mock_run.assert_called_once_with(
         'docker exec -i {} bash -c \'cd ~/ &&  ls\''.format(
             docker.container_name), '')
Exemplo n.º 9
0
 def test_env_variables(self, mock_run):
     docker = Docker(env_variables={'CI': 1, 'FRIGG': 1})
     docker.run('ls', login=True)
     mock_run.assert_called_once_with(
         'docker exec -i {0} bash --login -c \'cd ~/ && CI=1 FRIGG=1 ls\''.
         format(docker.container_name), '')
Exemplo n.º 10
0
    def test_with_statement(self, mock_start, mock_stop):
        with Docker() as docker:
            self.assertIsNotNone(docker)

        mock_start.assert_called_once_with()
        mock_stop.assert_called_once_with()
Exemplo n.º 11
0
 def test_privilege(self):
     Docker(privilege=True).start()
Exemplo n.º 12
0
 def setUp(self):
     self.docker = Docker()
     self.docker.start()