Beispiel #1
0
    def test(self):
        script_dir = os.path.dirname(os.path.realpath(__file__))
        code_dir = script_dir + "/../../sockshop/" + self.container_dir

        test_container_name = self.container_dir + '-test'
        docker = Docker()
        docker.execute(['docker', 'build', '-t', test_container_name, code_dir])
        docker.execute(['docker', 'run', '--rm', test_container_name, 'go', 'test',
                        'github.com/microservices-demo/microservices-demo/' + self.container_dir])
Beispiel #2
0
class CatalogueApplicationTest(unittest.TestCase):
    TAG = "latest"
    container_name = 'catalogue'

    def __init__(self, methodName='runTest'):
        super(CatalogueApplicationTest, self).__init__(methodName)
        self.ip = ""
        self.front_end_ip = ""
        self.docker = Docker()

    def setUp(self):
        command = [
            'docker', 'run', '-d', '--name',
            CatalogueApplicationTest.container_name, '-h',
            CatalogueApplicationTest.container_name,
            'weaveworksdemos/catalogue:' + self.TAG
        ]
        self.docker.execute(command)
        self.ip = self.docker.get_container_ip(
            CatalogueApplicationTest.container_name)
        command = [
            'docker', 'run', '-d', '--link', 'catalogue', '--name',
            "front-end", '-h', "front-end",
            'weaveworksdemos/front-end:' + self.TAG
        ]
        self.docker.execute(command)
        self.front_end_ip = self.docker.get_container_ip("front-end")
        while Api().noResponse('http://' + self.front_end_ip + ':8079'):
            sleep(1)

    def tearDown(self):
        self.docker.kill_and_remove("front-end")
        self.docker.kill_and_remove(CatalogueApplicationTest.container_name)

    def test_catalogue_has_image(self):
        r = requests.get('http://' + self.front_end_ip + ':8079/catalogue',
                         timeout=5)
        data = r.json()
        for item in data:
            for imageUrl in item['imageUrl']:
                r = requests.get('http://' + self.front_end_ip + ':8079' +
                                 imageUrl,
                                 timeout=5)
                self.assertLess(r.status_code,
                                299,
                                msg=str(r.status_code) + ": error getting " +
                                imageUrl)
                self.assertGreater(int(r.headers.get("Content-Length")),
                                   0,
                                   msg="Issue with: " + imageUrl + ": " +
                                   r.headers.get("Content-Length"))
                self.assertEqual("image/jpeg",
                                 r.headers.get("Content-Type"),
                                 msg="Issue with: " + imageUrl + ": " +
                                 r.headers.get("Content-Type"))