/******************************************************************************* * Copyright (c) 2015 Red Hat, Inc. Distributed under license by Red Hat, Inc. * All rights reserved. This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: Red Hat, Inc. ******************************************************************************/ package com.openshift.restclient.images; import static org.junit.Assert.*; import org.junit.Test; import com.openshift.restclient.images.DockerImageURI; /** * @author Jeff Cantrill */ public class DockerImageURITest { private static final String NAME = "foo"; private static final String TAG = "bar"; private static final String USERNAME = "openshift"; private static final String REPO_HOST = "127.0.0.1"; private static final String NAME_TAG = String.format("%s:%s", NAME, TAG); private static final String USER_NAME_TAG = String.format("%s/%s:%s", USERNAME, NAME, TAG); private static final String REPO_USER_NAME_TAG = String.format("%s/%s/%s:%s", REPO_HOST, USERNAME, NAME, TAG);;; @Test public void testGetUriWithoutHost(){ assertEquals("Exp. to get the uri without tag", String.format("%s/%s:%s", USERNAME, NAME, TAG), new DockerImageURI(REPO_USER_NAME_TAG).getUriWithoutHost()); } @Test public void testGetUriWithoutTag(){ assertEquals("Exp. to get the uri without tag", String.format("%s/%s/%s", REPO_HOST, USERNAME, NAME), new DockerImageURI(REPO_USER_NAME_TAG).getUriWithoutTag()); } @Test public void testGetBaseUri(){ assertEquals("Exp. to get the uri without repo", USER_NAME_TAG, new DockerImageURI(REPO_USER_NAME_TAG).getBaseUri()); } @Test public void testGetAbsoluteUri() { assertEquals("Exp. to get the full uri", REPO_USER_NAME_TAG, new DockerImageURI(REPO_USER_NAME_TAG).getAbsoluteUri()); } @Test public void testGetAbsoluteUriWithoutRepo() { assertEquals("Exp. to get the full uri without rep", USER_NAME_TAG, new DockerImageURI(USER_NAME_TAG).getAbsoluteUri()); } @Test public void testGetAbsoluteUriWithoutUserName() { assertEquals("Exp. to get the full uri without user name", NAME_TAG, new DockerImageURI(NAME_TAG).getAbsoluteUri()); } @Test public void testGetAbsoluteUriWithoutTag() { assertEquals("Exp. to get the full uri without user name", String.format("%s:%s", NAME, "latest"), new DockerImageURI(NAME).getAbsoluteUri()); } @Test public void testName() { DockerImageURI tag = new DockerImageURI(NAME); assertEquals(NAME, tag.getName()); assertEquals("Expected to toString to return the correct uri", String.format("%s:%s", NAME, "latest"), tag.toString()); } @Test public void testNameWithTag() { DockerImageURI tag = new DockerImageURI(NAME_TAG); assertNameAndTag(tag); assertEquals("Expected to toString to return the correct uri", NAME_TAG, tag.toString()); } @Test public void testUserWithNameAndTag() { DockerImageURI tag = new DockerImageURI(USER_NAME_TAG); assertNameAndTag(tag); assertUserName(tag); assertEquals("Expected to toString to return the correct uri", USER_NAME_TAG, tag.toString()); } @Test public void testRepoWithUserWithNameAndTag() { DockerImageURI tag = new DockerImageURI(REPO_USER_NAME_TAG); assertNameAndTag(tag); assertUserName(tag); assertRepoHost(tag); assertEquals("Expected to toString to return the correct uri", REPO_USER_NAME_TAG, tag.toString()); } private void assertRepoHost(DockerImageURI tag) { assertEquals("Expected to parse our the repo host", REPO_HOST, tag.getRepositoryHost()); } private void assertUserName(DockerImageURI tag) { assertEquals("Expected to parse our the username", USERNAME, tag.getUserName()); } private void assertNameAndTag(DockerImageURI tag){ assertEquals("Expected to parse out the name", NAME, tag.getName()); assertEquals("Expected to parse out the tage", TAG, tag.getTag()); } }