def paasta_itest(args): """Build and test a docker image""" service = args.service if service and service.startswith("services-"): service = service.split("services-", 1)[1] validate_service_name(service) tag = build_docker_tag(service, args.commit) run_env = os.environ.copy() run_env["DOCKER_TAG"] = tag cmd = "make itest" loglines = [] _log(service=service, line="starting itest for %s." % args.commit, component="build", level="event") returncode, output = _run( cmd, env=run_env, timeout=3600, log=True, component="build", service=service, loglevel="debug" ) if returncode != 0: loglines.append("ERROR: itest failed for %s." % args.commit) output = get_jenkins_build_output_url() if output: loglines.append("See output: %s" % output) else: loglines.append("itest passed for %s." % args.commit) if not check_docker_image(service, args.commit): loglines.append("ERROR: itest has not created %s" % tag) returncode = 1 for logline in loglines: _log(service=service, line=logline, component="build", level="event") sys.exit(returncode)
def paasta_itest(args): """Build and test a docker image""" service = args.service soa_dir = args.soa_dir if service and service.startswith('services-'): service = service.split('services-', 1)[1] validate_service_name(service, soa_dir=soa_dir) tag = build_docker_tag(service, args.commit) run_env = os.environ.copy() run_env['DOCKER_TAG'] = tag cmd = "make itest" loglines = [] _log( service=service, line='starting itest for %s.' % args.commit, component='build', level='event' ) returncode, output = _run( cmd, env=run_env, timeout=3600, log=True, component='build', service=service, loglevel='debug', stream=True, ) if returncode != 0: loglines.append( 'ERROR: itest failed for %s.' % args.commit ) output = get_jenkins_build_output_url() if output: loglines.append('See output: %s' % output) else: loglines.append('itest passed for %s.' % args.commit) if not check_docker_image(service, args.commit): loglines.append('ERROR: itest has not created %s' % tag) returncode = 1 for logline in loglines: _log( service=service, line=logline, component='build', level='event', ) return returncode
def paasta_itest(args): """Build and test a docker image""" service = args.service soa_dir = args.soa_dir if service and service.startswith('services-'): service = service.split('services-', 1)[1] validate_service_name(service, soa_dir=soa_dir) tag = build_docker_tag(service, args.commit) run_env = os.environ.copy() run_env['DOCKER_TAG'] = tag cmd = "make itest" loglines = [] _log( service=service, line='starting itest for %s.' % args.commit, component='build', level='event' ) returncode, output = _run( cmd, env=run_env, timeout=3600, log=True, component='build', service=service, loglevel='debug' ) if returncode != 0: loglines.append( 'ERROR: itest failed for %s.' % args.commit ) output = get_jenkins_build_output_url() if output: loglines.append('See output: %s' % output) else: loglines.append('itest passed for %s.' % args.commit) if not check_docker_image(service, args.commit): loglines.append('ERROR: itest has not created %s' % tag) returncode = 1 for logline in loglines: _log( service=service, line=logline, component='build', level='event', ) return returncode
def test_check_docker_image_true(mock_build_docker_image_name): fake_app = 'fake_app' fake_commit = 'fake_commit' mock_build_docker_image_name.return_value = 'fake-registry/services-foo' docker_tag = utils.build_docker_tag(fake_app, fake_commit) with mock.patch('docker.Client') as mock_docker: docker_client = mock_docker.return_value docker_client.images.return_value = [{ 'Created': 1425430339, 'VirtualSize': 250344331, 'ParentId': '1111', 'RepoTags': [docker_tag], 'Id': 'ef978820f195dede62e206bbd41568463ab2b79260bc63835a72154fe7e196a2', 'Size': 0} ] assert utils.check_docker_image(fake_app, fake_commit) is True
def test_check_docker_image_true(mock_build_docker_image_name): fake_app = "fake_app" fake_commit = "fake_commit" mock_build_docker_image_name.return_value = "fake-registry/services-foo" docker_tag = utils.build_docker_tag(fake_app, fake_commit) with mock.patch("docker.Client") as mock_docker: docker_client = mock_docker.return_value docker_client.images.return_value = [ { "Created": 1425430339, "VirtualSize": 250344331, "ParentId": "1111", "RepoTags": [docker_tag], "Id": "ef978820f195dede62e206bbd41568463ab2b79260bc63835a72154fe7e196a2", "Size": 0, } ] assert utils.check_docker_image(fake_app, fake_commit) is True
def paasta_itest(args): """Build and test a docker image""" service = args.service soa_dir = args.soa_dir if service and service.startswith("services-"): service = service.split("services-", 1)[1] validate_service_name(service, soa_dir=soa_dir) tag = build_docker_tag(service, args.commit) run_env = os.environ.copy() run_env["DOCKER_TAG"] = tag cmd = "make itest" loglines = [] _log( service=service, line="starting itest for %s." % args.commit, component="build", level="event", ) returncode, output = _run( cmd, env=run_env, timeout=args.timeout, log=True, component="build", service=service, loglevel="debug", ) if returncode != 0: loglines.append("ERROR: itest failed for %s." % args.commit) output = get_jenkins_build_output_url() if output: loglines.append("See output: %s" % output) else: loglines.append("itest passed for %s." % args.commit) if not check_docker_image(service, args.commit): loglines.append("ERROR: itest has not created %s" % tag) returncode = 1 for logline in loglines: _log(service=service, line=logline, component="build", level="event") return returncode