package org.cloudfoundry.identity.uaa.zone; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; public class IdentityZoneHolderTest { private BrandingInformation zoneBranding; private BrandingInformation defaultZoneBranding; private IdentityZone fakeUaa; @Before public void setUp() throws Exception { defaultZoneBranding = new BrandingInformation(); defaultZoneBranding.setProductLogo("iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABSUlEQVQ4EaVTO04DMRB9YdOTC+QcK46w" + "FU3apclKuQMH4AYUkUxFmyY0PgLac3AB6ImM3kyePYkQDZZ27Zl58+aNP8A/x2J7ixI5Xr6wiHaMX8eIW/L3/tlStisUAZm8fx1acMxWTPFK0BBOR" + "hL5ukP2ZQ9UsjHXIqZA4LuVrwjsPjxxenRfAtAh47QenCiQgFL5fb8NpTyjlAf/5KOfa/llk/pG1WvV2T3T0We1wLh8jNAmaSUwyTMMRGC6dxDXIl" + "ExtUd7SZb0BKhXU3LIRrTfKKXNpsLU+R7VTWTFKJEpuzGbktNmuFiLjnEj4M52s4OnMVt/CedTYLWjx9Artc1269hG3MSohMps9LAjVCqrc9QWaJg" + "SZCRWOp+GoX5J5u3lvan3nioIphIOnQr711BVXf0LAoGuieRnMt8A438SKEFEsuMDirEf/oirUgza/ucAAAAASUVORK5CYII="); zoneBranding = new BrandingInformation(); zoneBranding.setProductLogo("zoneBrandingString==="); fakeUaa = IdentityZoneHolder.getUaaZone(); fakeUaa.getConfig().setBranding(defaultZoneBranding); IdentityZoneProvisioning provisioning = Mockito.mock(IdentityZoneProvisioning.class); IdentityZoneHolder.setProvisioning(provisioning); Mockito.when(provisioning.retrieve(fakeUaa.getId())).thenReturn(fakeUaa); } @Test public void getProductLogoForZone() { IdentityZone testZone = new IdentityZone(); IdentityZoneHolder.set(testZone); IdentityZoneHolder.get().getConfig().setBranding(zoneBranding); BrandingInformationSource brandingInformationSource = IdentityZoneHolder.resolveBranding(); assertEquals(brandingInformationSource.getProductLogo(), zoneBranding.getProductLogo()); } @Test public void emptyProductLogoForZoneDoesNotReturnDefault() { IdentityZone testZone = new IdentityZone(); IdentityZoneHolder.set(testZone); IdentityZoneHolder.get().getConfig().setBranding(new BrandingInformation()); BrandingInformationSource brandingInformationSource = IdentityZoneHolder.resolveBranding(); assertNull(brandingInformationSource.getProductLogo()); } @Test public void getProductLogoForDefaultZoneReturnsDefaultLogo() { IdentityZoneHolder.set(fakeUaa); BrandingInformationSource brandingInformationSource = IdentityZoneHolder.resolveBranding(); assertEquals(brandingInformationSource.getProductLogo(), defaultZoneBranding.getProductLogo()); } }