summaryrefslogtreecommitdiff
path: root/tests/integration/conftest.py
blob: b0be9665fdfd45b402e3b69bff1ae50c368aa0de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from __future__ import print_function

import json
import sys
import warnings

import docker.errors
import pytest

from .base import BUSYBOX


@pytest.fixture(autouse=True, scope='session')
def setup_test_session():
    warnings.simplefilter('error')
    c = docker.from_env()
    try:
        c.inspect_image(BUSYBOX)
    except docker.errors.NotFound:
        print("\npulling {0}".format(BUSYBOX), file=sys.stderr)
        for data in c.pull(BUSYBOX, stream=True):
            data = json.loads(data.decode('utf-8'))
            status = data.get("status")
            progress = data.get("progress")
            detail = "{0} - {1}".format(status, progress)
            print(detail, file=sys.stderr)

        # Double make sure we now have busybox
        c.inspect_image(BUSYBOX)
    c.close()