From a6603c64d6313d5a3dd134f724f033b3a8a0b0c4 Mon Sep 17 00:00:00 2001
From: Mike Salvatore <mike.s.salvatore@gmail.com>
Date: Thu, 21 Apr 2022 12:21:33 -0400
Subject: [PATCH] UT: Add test_all_keys_if_credentials_empty() test

---
 .../test_aggregating_credentials_store.py     | 24 +++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/monkey/tests/unit_tests/infection_monkey/credential_store/test_aggregating_credentials_store.py b/monkey/tests/unit_tests/infection_monkey/credential_store/test_aggregating_credentials_store.py
index 0b6fd8545..d2c1746e4 100644
--- a/monkey/tests/unit_tests/infection_monkey/credential_store/test_aggregating_credentials_store.py
+++ b/monkey/tests/unit_tests/infection_monkey/credential_store/test_aggregating_credentials_store.py
@@ -21,6 +21,14 @@ CONTROL_CHANNEL_CREDENTIALS = {
     ],
 }
 
+EMPTY_CHANNEL_CREDENTIALS = {
+    "exploit_user_list": [],
+    "exploit_password_list": [],
+    "exploit_lm_hash_list": [],
+    "exploit_ntlm_hash_list": [],
+    "exploit_ssh_keys": [],
+}
+
 TEST_CREDENTIALS = [
     Credentials(
         [Username("user1"), Username("user3")],
@@ -52,8 +60,6 @@ def aggregating_credentials_store() -> AggregatingCredentialsStore:
 def test_get_credentials_from_store(aggregating_credentials_store):
     actual_stored_credentials = aggregating_credentials_store.get_credentials()
 
-    print(actual_stored_credentials)
-
     assert actual_stored_credentials["exploit_user_list"] == set(
         CONTROL_CHANNEL_CREDENTIALS["exploit_user_list"]
     )
@@ -93,3 +99,17 @@ def test_add_credentials_to_store(aggregating_credentials_store):
     )
 
     assert len(actual_stored_credentials["exploit_ssh_keys"]) == 3
+
+
+def test_all_keys_if_credentials_empty():
+    control_channel = MagicMock()
+    control_channel.get_credentials_for_propagation.return_value = EMPTY_CHANNEL_CREDENTIALS
+    credentials_store = AggregatingCredentialsStore(control_channel)
+
+    actual_stored_credentials = credentials_store.get_credentials()
+    print(type(actual_stored_credentials))
+
+    assert "exploit_user_list" in actual_stored_credentials
+    assert "exploit_password_list" in actual_stored_credentials
+    assert "exploit_ntlm_hash_list" in actual_stored_credentials
+    assert "exploit_ssh_keys" in actual_stored_credentials