Skip to content

Commit

Permalink
Restore host in Docker tests
Browse files Browse the repository at this point in the history
  • Loading branch information
yahavi committed Feb 6, 2023
1 parent 32573b0 commit b22fcc9
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 7 deletions.
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,16 @@ export BITESTS_ARTIFACTORY_PIP_ENV=/Users/user/buildinfo-tests-env/bin

#### Docker tests
* Docker tests run only on Linux/mac.
* In addition to the general environment variables required for running the tests, you must set the following environment variables, required for the docker tests:
```bash
export BITESTS_PLATFORM_CONTAINER_REGISTRY=127.0.0.1:8081
export BITESTS_ARTIFACTORY_DOCKER_HOST=tcp://127.0.0.1:1234
```
* For OSX agents, run a Socat container:
```bash
docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 127.0.0.1:1234:1234 bobrik/socat TCP-LISTEN:1234,fork UNIX-CONNECT:/var/run/docker.sock
```
* Run tests:
```bash
./gradlew clean build-info-extractor-docker:test
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,11 @@ public class DockerExtractorTest extends IntegrationTestsBase {
private static final String SHORT_IMAGE_TAG_LOCAL = "2";
private static final String SHORT_IMAGE_TAG_VIRTUAL = "3";
private static final String EXPECTED_REMOTE_PATH_KANIKO = "hello-world/latest";
private static final String DOCKER_HOST = "BITESTS_ARTIFACTORY_DOCKER_HOST";
private final ArrayListMultimap<String, String> artifactProperties = ArrayListMultimap.create();
private String pullImageFromVirtual;
private String virtualDomainName;
private String host;
private String imageTagLocal;
private String imageTagVirtual;
private String pullImageFromRemote;
Expand All @@ -67,6 +69,7 @@ private void setUp() {
if (SystemUtils.IS_OS_WINDOWS) {
throw new SkipException("Skipping Docker tests on Windows OS");
}
host = System.getenv(DOCKER_HOST);
String containerRegistry = readParam(new Properties(), "container_registry", "127.0.0.1:8081");
virtualDomainName = StringUtils.appendIfMissing(containerRegistry, "/") + virtualRepo;
imageTagLocal = StringUtils.appendIfMissing(containerRegistry, "/") + localRepo1 + "/" + SHORT_IMAGE_NAME + ":" + SHORT_IMAGE_TAG_LOCAL;
Expand All @@ -82,27 +85,27 @@ private void setUp() {

@Test
public void dockerPushToLocalTest() {
DockerJavaWrapper.buildImage(imageTagLocal, "", Collections.emptyMap(), PROJECT_PATH);
DockerPush dockerPush = new DockerPush(artifactoryManagerBuilder, imageTagLocal, "", artifactProperties, localRepo1, getUsername(), getAdminToken(), getLog(), Collections.emptyMap());
DockerJavaWrapper.buildImage(imageTagLocal, host, Collections.emptyMap(), PROJECT_PATH);
DockerPush dockerPush = new DockerPush(artifactoryManagerBuilder, imageTagLocal, host, artifactProperties, localRepo1, getUsername(), getAdminToken(), getLog(), Collections.emptyMap());
pushAndValidateImage(dockerPush, localRepo1, imageTagLocal, SHORT_IMAGE_TAG_LOCAL);
}

@Test
public void dockerPushToVirtualTest() {
DockerJavaWrapper.buildImage(imageTagVirtual, "", Collections.emptyMap(), PROJECT_PATH);
DockerPush dockerPush = new DockerPush(artifactoryManagerBuilder, imageTagVirtual, "", artifactProperties, virtualRepo, getUsername(), getAdminToken(), getLog(), Collections.emptyMap());
DockerJavaWrapper.buildImage(imageTagVirtual, host, Collections.emptyMap(), PROJECT_PATH);
DockerPush dockerPush = new DockerPush(artifactoryManagerBuilder, imageTagVirtual, host, artifactProperties, virtualRepo, getUsername(), getAdminToken(), getLog(), Collections.emptyMap());
pushAndValidateImage(dockerPush, virtualRepo, imageTagVirtual, SHORT_IMAGE_TAG_VIRTUAL);
}

@Test
public void dockerPullFromRemoteTest() {
DockerPull dockerPull = new DockerPull(artifactoryManagerBuilder, pullImageFromRemote, "", remoteRepo, getUsername(), getAdminToken(), getLog(), Collections.emptyMap());
DockerPull dockerPull = new DockerPull(artifactoryManagerBuilder, pullImageFromRemote, host, remoteRepo, getUsername(), getAdminToken(), getLog(), Collections.emptyMap());
validatePulledDockerImage(dockerPull.execute(), pullImageFromRemote);
}

@Test
public void dockerPullFromVirtualTest() {
DockerPull dockerPull = new DockerPull(artifactoryManagerBuilder, pullImageFromVirtual, "", virtualRepo, getUsername(), getAdminToken(), getLog(), Collections.emptyMap());
DockerPull dockerPull = new DockerPull(artifactoryManagerBuilder, pullImageFromVirtual, host, virtualRepo, getUsername(), getAdminToken(), getLog(), Collections.emptyMap());
validatePulledDockerImage(dockerPull.execute(), pullImageFromVirtual);
}

Expand Down Expand Up @@ -227,7 +230,7 @@ private void validateImageArtifacts(List<Artifact> arts, String image) {
}

private String getImageId(String image) {
String id = DockerJavaWrapper.InspectImage(image, "", Collections.emptyMap(), getLog()).getId();
String id = DockerJavaWrapper.InspectImage(image, host, Collections.emptyMap(), getLog()).getId();
assertNotNull(id);
return id.replace(":", "__");
}
Expand Down

0 comments on commit b22fcc9

Please sign in to comment.