/*- * ============LICENSE_START========================================== * ONAP Portal SDK * =================================================================== * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. * =================================================================== * * Unless otherwise specified, all software contained herein is licensed * under the Apache License, Version 2.0 (the "License"); * you may not use this software except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Unless otherwise specified, all documentation contained herein is licensed * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); * you may not use this documentation except in compliance with the License. * You may obtain a copy of the License at * * https://creativecommons.org/licenses/by/4.0/ * * Unless required by applicable law or agreed to in writing, documentation * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * ============LICENSE_END============================================ * * */ package org.onap.portalsdk.external.authorization.util; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import javax.xml.bind.DatatypeConverter; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import org.springframework.http.HttpHeaders; @RunWith(PowerMockRunner.class) @PrepareForTest({ EcompExternalAuthProperties.class, DatatypeConverter.class }) public class EcompExternalAuthUtilsTest { public static final String EXT_EMPTY_JSON_STRING = "{}"; public static final String EXT_ROLE_FIELD = "role"; public static final String EXT_PERM_FIELD = "perm"; public static final String EXT_PERM_FIELD_TYPE = "type"; public static final String EXT_PERM_ACCESS = ".access"; public static final String EXT_ROLE_FIELD_NAME = "name"; public static final String EXT_NULL_VALUE = "null"; public static final String EXT_FIELD_DESCRIPTION = "description"; public static final String EXT_FIELD_PERMS = "perms"; public static final String EXT_ROLE_FIELD_OWNER = ".owner"; public static final String EXT_ROLE_FIELD_ADMIN = ".admin"; @Before public void setup() { PowerMockito.mockStatic(EcompExternalAuthProperties.class); PowerMockito.mockStatic(DatatypeConverter.class); Mockito.when(EcompExternalAuthProperties.getProperty(EcompExternalAuthProperties.EXTERNAL_AUTH_USER_NAME)) .thenReturn("test_username"); Mockito.when(EcompExternalAuthProperties.getProperty(EcompExternalAuthProperties.EXTERNAL_AUTH_PASSWORD)) .thenReturn("test_password"); MockitoAnnotations.initMocks(this); } @Test public void base64encodeKeyForAAFBasicAuthTest() throws Exception { HttpHeaders actual = EcompExternalAuthUtils.base64encodeKeyForAAFBasicAuth("test", "test"); assertNotNull(actual); } @Test(expected = NullPointerException.class) public void base64encodeKeyForAAFBasicAuthDecryptPassExceptionTest() throws Exception { Mockito.when(DatatypeConverter.printBase64Binary("test:test".getBytes())) .thenThrow(new NullPointerException()); EcompExternalAuthUtils.base64encodeKeyForAAFBasicAuth("test", "test"); } @Test public void checkNameSpaceMatchingTest() throws Exception { EcompExternalAuthUtils.checkNameSpaceMatching("com.test.app.role.name", "com.test.app.role"); } @Test public void checkNameSpaceNotMatchingTest() throws Exception { PowerMockito.mockStatic(EcompExternalAuthProperties.class); EcompExternalAuthUtils.checkNameSpaceMatching("com.test.app2.role.name", "com.test.app.role"); } @Test public void checkNameSpaceMatchingLengthTest() throws Exception { EcompExternalAuthUtils.checkNameSpaceMatching("com.test.app2.role", "com.test.app2.role.test"); } @Test public void isJsonValidTest() { boolean actual = EcompExternalAuthUtils.isJSONValid("{\"test\":\"test\"}"); assertTrue(actual); } @Test public void isJsonValidFailTest() { boolean actual = EcompExternalAuthUtils.isJSONValid("{\"test\":\"test\""); assertFalse(actual); } }