Example #1
0
 def test_can_start_all_the_containers_of_a_project(self):
     homedir = os.path.join(FIXTURE_ROOT, 'project03')
     config = Config.from_base_dir(homedir)
     project = Project.from_config('project02', self.client, config)
     project.up()
     for container in project.containers:
         assert container.is_running
Example #2
0
 def test_raises_an_error_if_it_cannot_find_a_container(self):
     homedir = os.path.join(FIXTURE_ROOT, 'project02')
     config = Config.from_base_dir(homedir)
     project = Project.from_config('project02', homedir, self.client,
                                   config)
     with pytest.raises(ProjectError):
         project.get_container_by_name('dummy')
Example #3
0
 def test_can_return_a_container_by_name(self):
     homedir = os.path.join(FIXTURE_ROOT, 'project02')
     config = Config.from_base_dir(homedir)
     project = Project.from_config('project02', homedir, self.client,
                                   config)
     container = project.get_container_by_name('lxdock-pytest-web')
     assert container and container.name == 'lxdock-pytest-web'
Example #4
0
 def test_cannot_open_shell_into_many_containers(self):
     homedir = os.path.join(FIXTURE_ROOT, 'project02')
     config = Config.from_base_dir(homedir)
     project = Project.from_config('project02', homedir, self.client,
                                   config)
     with pytest.raises(ProjectError):
         project.shell()
Example #5
0
 def test_can_start_some_specific_containers_of_a_project(self):
     homedir = os.path.join(FIXTURE_ROOT, 'project02')
     config = Config.from_base_dir(homedir)
     project = Project.from_config('project02', self.client, config)
     project.up(container_names=['lxdock-pytest-web'])
     container_web = project.get_container_by_name('lxdock-pytest-web')
     container_ci = project.get_container_by_name('lxdock-pytest-ci')
     assert container_web.is_running
     assert container_ci.is_stopped
Example #6
0
 def test_can_destroy_some_specific_containers_of_a_project(self):
     homedir = os.path.join(FIXTURE_ROOT, 'project02')
     config = Config.from_base_dir(homedir)
     project = Project.from_config('project02', self.client, config)
     project.up()
     project.destroy(container_names=['lxdock-pytest-web'])
     container_web = project.get_container_by_name('lxdock-pytest-web')
     container_ci = project.get_container_by_name('lxdock-pytest-ci')
     assert not container_web.exists
     assert container_ci.exists
Example #7
0
 def test_can_be_initialized_from_a_config_file(self):
     homedir = os.path.join(FIXTURE_ROOT, 'project01')
     config = Config.from_base_dir(homedir)
     project = Project.from_config('project01', self.client, config)
     assert project.name == 'project01'
     assert project.homedir == homedir
     assert len(project.containers) == 1
     assert project.containers[0].name == 'default'
     assert project.containers[0].homedir == homedir
     assert project.containers[0].options['mode'] == 'pull'
     assert project.containers[0].options['image'] == 'alpine/3.10'