import static org.junit.Assert.*;\r
\r
import java.io.IOException;\r
+import java.util.Arrays;\r
+import java.util.HashSet;\r
+import java.util.Map;\r
+import java.util.Set;\r
\r
+import com.att.nsa.cambria.backends.ConsumerFactory;\r
import com.att.nsa.cambria.beans.ApiKeyBean;\r
import com.att.nsa.cambria.beans.DMaaPContext;\r
+import com.att.nsa.cambria.security.DMaaPAuthenticatorImpl;\r
+import com.att.nsa.cambria.utils.ConfigurationReader;\r
+import com.att.nsa.cambria.utils.DMaaPResponseBuilder;\r
+import com.att.nsa.cambria.utils.Emailer;\r
import com.att.nsa.configs.ConfigDbException;\r
+import com.att.nsa.limits.Blacklist;\r
import com.att.nsa.security.ReadWriteSecuredResource.AccessDeniedException;\r
+import com.att.nsa.security.db.NsaApiDb;\r
import com.att.nsa.security.db.NsaApiDb.KeyExistsException;\r
+import com.att.nsa.security.db.simple.NsaSimpleApiKey;\r
\r
import org.junit.After;\r
import org.junit.Before;\r
import org.junit.Test;\r
+import org.junit.runner.RunWith;\r
+import org.mockito.InjectMocks;\r
+import org.mockito.Mock;\r
+import org.mockito.MockitoAnnotations;\r
+import org.powermock.api.mockito.PowerMockito;\r
+import org.powermock.core.classloader.annotations.PrepareForTest;\r
+import org.powermock.modules.junit4.PowerMockRunner;\r
\r
+@RunWith(PowerMockRunner.class)\r
+@PrepareForTest({ DMaaPAuthenticatorImpl.class, DMaaPResponseBuilder.class })\r
public class ApiKeysServiceImplTest {\r
+ \r
+ @InjectMocks\r
+ ApiKeysServiceImpl service;\r
+\r
+ @Mock\r
+ DMaaPContext dmaapContext;\r
+ @Mock\r
+ ConsumerFactory factory;\r
+\r
+ @Mock\r
+ ConfigurationReader configReader;\r
+ @Mock\r
+ Blacklist Blacklist;\r
+ @Mock\r
+ Emailer emailer;\r
\r
@Before\r
public void setUp() throws Exception {\r
+\r
+ MockitoAnnotations.initMocks(this);\r
+ PowerMockito.mockStatic(DMaaPAuthenticatorImpl.class);\r
+ NsaSimpleApiKey user = new NsaSimpleApiKey("admin", "password");\r
+\r
+ PowerMockito.when(dmaapContext.getConfigReader()).thenReturn(configReader);\r
+ PowerMockito.when(configReader.getfConsumerFactory()).thenReturn(factory);\r
+ PowerMockito.when(configReader.getfIpBlackList()).thenReturn(Blacklist);\r
+ \r
+ PowerMockito.when(configReader.getfApiKeyDb()).thenReturn(fApiKeyDb);\r
+ PowerMockito.when(configReader.getSystemEmailer()).thenReturn(emailer);\r
+ PowerMockito.when(DMaaPAuthenticatorImpl.getAuthenticatedUser(dmaapContext)).thenReturn(user);\r
+ PowerMockito.mockStatic(DMaaPResponseBuilder.class);\r
+ \r
}\r
\r
@After\r
@Test\r
public void testGetAllApiKeys() {\r
\r
- /* ApiKeysServiceImpl service = new ApiKeysServiceImpl();\r
+ service = new ApiKeysServiceImpl();\r
try {\r
- service.getAllApiKeys(new DMaaPContext());\r
+ service.getAllApiKeys(dmaapContext);\r
} catch (NullPointerException e) {\r
// TODO Auto-generated catch block\r
//e.printStackTrace();\r
- assertTrue(true);\r
+ \r
} catch (ConfigDbException e) {\r
// TODO Auto-generated catch block\r
e.printStackTrace();\r
} catch (IOException e) {\r
// TODO Auto-generated catch block\r
e.printStackTrace();\r
- }*/\r
+ }\r
+ assertTrue(true);\r
\r
}\r
\r
@Test\r
public void testGetApiKey() {\r
- /*\r
+ \r
ApiKeysServiceImpl service = new ApiKeysServiceImpl();\r
try {\r
- service.getApiKey(new DMaaPContext(), "k35Hdw6Sde");\r
+ service.getApiKey(dmaapContext, "testkey");\r
} catch (NullPointerException e) {\r
// TODO Auto-generated catch block\r
//e.printStackTrace();\r
e.printStackTrace();\r
} catch (IOException e) {\r
// TODO Auto-generated catch block\r
+ }\r
+ assertTrue(true);\r
+ \r
+ }\r
+ \r
+ @Test\r
+ public void testGetApiKey_error() {\r
+ \r
+ ApiKeysServiceImpl service = new ApiKeysServiceImpl();\r
+ try {\r
+ service.getApiKey(dmaapContext, "k35Hdw6Sde");\r
+ } catch (NullPointerException e) {\r
+ // TODO Auto-generated catch block\r
+ //e.printStackTrace();\r
+ } catch (ConfigDbException e) {\r
+ // TODO Auto-generated catch block\r
e.printStackTrace();\r
- }*/\r
+ } catch (IOException e) {\r
+ // TODO Auto-generated catch block\r
+ assertTrue(true);\r
+ }\r
\r
}\r
\r
@Test\r
public void testCreateApiKey() {\r
\r
- /* ApiKeysServiceImpl service = new ApiKeysServiceImpl();\r
+ ApiKeysServiceImpl service = new ApiKeysServiceImpl();\r
try {\r
- service.createApiKey(new DMaaPContext(), new ApiKeyBean("hs647a@att.com", "testing apikey bean"));\r
+ service.createApiKey(dmaapContext, new ApiKeyBean("test@onap.com", "testing apikey bean"));\r
} catch (NullPointerException e) {\r
// TODO Auto-generated catch block\r
//e.printStackTrace();\r
- assertTrue(true);\r
} catch (ConfigDbException e) {\r
// TODO Auto-generated catch block\r
e.printStackTrace();\r
// TODO Auto-generated catch block\r
e.printStackTrace();\r
} catch(NoClassDefFoundError e) {\r
+ \r
+ }\r
+ assertTrue(true);\r
+ }\r
+ \r
+ @Test\r
+ public void testUpdateApiKey() {\r
+ \r
+ ApiKeysServiceImpl service = new ApiKeysServiceImpl();\r
+ try {\r
+ \r
+ service.updateApiKey(dmaapContext, "admin", new ApiKeyBean("test@onapt.com", "testing apikey bean"));\r
+ } catch (NullPointerException e) {\r
+ // TODO Auto-generated catch block\r
+ //e.printStackTrace();\r
+ } catch (ConfigDbException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ } catch (IOException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ } catch (AccessDeniedException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+ assertTrue(true);\r
+ \r
+ }\r
+ @Test\r
+ public void testUpdateApiKey_error() {\r
+ \r
+ ApiKeysServiceImpl service = new ApiKeysServiceImpl();\r
+ try {\r
+ \r
+ service.updateApiKey(dmaapContext, null, new ApiKeyBean("test@onapt.com", "testing apikey bean"));\r
+ } catch (NullPointerException e) {\r
+ // TODO Auto-generated catch block\r
+ //e.printStackTrace();\r
+ assertTrue(true);\r
+ } catch (ConfigDbException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ } catch (IOException e) {\r
+ // TODO Auto-generated catch block\r
assertTrue(true);\r
- }*/\r
+ } catch (AccessDeniedException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
\r
}\r
\r
@Test\r
- public void testUpdateApiKey() {\r
+ public void testDeleteApiKey() {\r
\r
-/* ApiKeysServiceImpl service = new ApiKeysServiceImpl();\r
+ ApiKeysServiceImpl service = new ApiKeysServiceImpl();\r
try {\r
\r
- service.updateApiKey(new DMaaPContext(), "k6dWUcw4N", new ApiKeyBean("hs647a@att.com", "testing apikey bean"));\r
+ service.deleteApiKey(dmaapContext, null);\r
} catch (NullPointerException e) {\r
// TODO Auto-generated catch block\r
//e.printStackTrace();\r
// TODO Auto-generated catch block\r
e.printStackTrace();\r
}\r
- */\r
+ \r
}\r
\r
@Test\r
- public void testDeleteApiKey() {\r
+ public void testDeleteApiKey_error() {\r
\r
- /* ApiKeysServiceImpl service = new ApiKeysServiceImpl();\r
+ ApiKeysServiceImpl service = new ApiKeysServiceImpl();\r
try {\r
\r
- service.deleteApiKey(new DMaaPContext(), "k6dWUcw4N");\r
+ service.deleteApiKey(dmaapContext, "admin");\r
} catch (NullPointerException e) {\r
// TODO Auto-generated catch block\r
//e.printStackTrace();\r
} catch (AccessDeniedException e) {\r
// TODO Auto-generated catch block\r
e.printStackTrace();\r
- }*/\r
+ }\r
\r
}\r
+ \r
+ NsaApiDb<NsaSimpleApiKey> fApiKeyDb= new NsaApiDb<NsaSimpleApiKey>() {\r
+ \r
+ \r
+ Set<String> keys = new HashSet<>(Arrays.asList("testkey","admin"));\r
+ \r
+ \r
+ @Override\r
+ public NsaSimpleApiKey createApiKey(String arg0, String arg1)\r
+ throws com.att.nsa.security.db.NsaApiDb.KeyExistsException, ConfigDbException {\r
+ // TODO Auto-generated method stub\r
+ return new NsaSimpleApiKey(arg0, arg1);\r
+ }\r
+\r
+ @Override\r
+ public boolean deleteApiKey(NsaSimpleApiKey arg0) throws ConfigDbException {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+\r
+ @Override\r
+ public boolean deleteApiKey(String arg0) throws ConfigDbException {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+\r
+ @Override\r
+ public Map<String, NsaSimpleApiKey> loadAllKeyRecords() throws ConfigDbException {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+ @Override\r
+ public Set<String> loadAllKeys() throws ConfigDbException {\r
+ // TODO Auto-generated method stub\r
+ \r
+ return keys ;\r
+ }\r
+\r
+ @Override\r
+ public NsaSimpleApiKey loadApiKey(String arg0) throws ConfigDbException {\r
+ if(!keys.contains(arg0)){\r
+ return null;\r
+ }\r
+ return new NsaSimpleApiKey(arg0, "password");\r
+ }\r
+\r
+ @Override\r
+ public void saveApiKey(NsaSimpleApiKey arg0) throws ConfigDbException {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+ };\r
}
\ No newline at end of file