Exemple #1
0
    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'))
Exemple #2
0
    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')
Exemple #3
0
    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')
Exemple #4
0
    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())
Exemple #5
0
    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')
Exemple #6
0
    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)
Exemple #7
0
    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']))
Exemple #8
0
    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'))
Exemple #9
0
 def test_docker_cli_init(self):
     docker = DockerCli()
     self.assertIsInstance(docker, DockerCli)
Exemple #10
0
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))