def test_docker_cli_remove_container(self): remove_container = self.mock_client.return_value.remove_container remove_container.return_value = None docker = DockerCli() docker.filtered_statuses = (self.container['State'], ) self.assertDictEqual({'status': 'OK'}, docker.remove_container('id123'))
def test_docker_cli_remove_container_not_found(self): remove_container = self.mock_client.return_value.remove_container remove_container.side_effect = errors.NotFound('Not Found') docker = DockerCli() docker.filtered_statuses = (self.container['State'], ) self.assertRaises(NotFoundContainerException, docker.remove_container, 'id123')
def test_docker_cli_create_container_not_found(self): get_service_by_name = self.mock_config.return_value.get_service_by_name get_service_by_name.return_value = None docker = DockerCli() docker.filtered_statuses = (self.container['State'], ) self.assertRaises(NotFoundImageException, docker.create_container, 'image123')
def test_docker_cli_get_all_containers_without_filters(self): containers = self.mock_client.return_value.containers containers.return_value = [self.container] get_service_by_name = self.mock_config.return_value.get_service_by_name get_service_by_name.return_value = self.service docker = DockerCli() docker.filtered_statuses = () self.assertListEqual([], docker.get_all_containers())
def test_docker_cli_get_container_not_found(self): self.mock_client.return_value.containers.return_value = [] get_service_by_name = self.mock_config.return_value.get_service_by_name get_service_by_name.return_value = self.service docker = DockerCli() docker.filtered_statuses = (self.container['State'], ) self.assertRaises(NotFoundContainerException, docker.get_container, 'id123')
def test_docker_cli_get_containers(self): containers = self.mock_client.return_value.containers containers.return_value = [self.container] get_service_by_name = self.mock_config.return_value.get_service_by_name get_service_by_name.return_value = self.service docker = DockerCli() docker.filtered_statuses = (self.container['State'], ) filters = {'id': self.container['Id']} for container in docker._get_containers(filters): self.assertDictEqual(self.expect, container)
def test_docker_cli_get_container(self): self.mock_client.return_value.containers.return_value = [ self.container ] get_service_by_name = self.mock_config.return_value.get_service_by_name get_service_by_name.return_value = self.service docker = DockerCli() docker.filtered_statuses = (self.container['State'], ) self.assertDictEqual(self.expect, docker.get_container(self.container['Id']))
def test_docker_cli_create_container(self): self.mock_client.return_value.containers.return_value = [ self.container ] create_container = self.mock_client.return_value.create_container create_container.return_value = self.container start = self.mock_client.return_value.start start.return_value = self.container get_service_by_name = self.mock_config.return_value.get_service_by_name get_service_by_name.return_value = self.service docker = DockerCli() docker.filtered_statuses = (self.container['State'], ) self.assertDictEqual(self.expect, docker.create_container('image'))
def test_docker_cli_init(self): docker = DockerCli() self.assertIsInstance(docker, DockerCli)
from flask import jsonify, request from mocksi.api import api, errors from mocksi.utils.docker_cli import DockerCli from mocksi.utils.exceptions import NotFoundImageException from mocksi.utils.exceptions import NotFoundContainerException docker = DockerCli() @api.route('/containers') def get_containers(): return jsonify(docker.get_all_containers()) @api.route('/containers/<string:id>') def get_container(id): if id: try: return jsonify(docker.get_container(id)) except NotFoundContainerException as e: return errors.not_found(e) return errors.bad_request('Container id is required to get information') @api.route('/containers', methods=['POST']) def create_container(): image = request.get_json().get('image') if image: try: return jsonify(docker.create_container(image))