From b04be3a3c74790f8dffd1ede8974d3e8b3c7d461 Mon Sep 17 00:00:00 2001 From: Adam Ding Date: Mon, 30 Nov 2020 17:32:14 -0500 Subject: [PATCH] Mocked Test List Getter --- Lambdas/Lists/List/test/TestListDelete.java | 2 +- Lambdas/Lists/List/test/TestListGetter.java | 90 ++++++++++++++++++--- 2 files changed, 81 insertions(+), 11 deletions(-) diff --git a/Lambdas/Lists/List/test/TestListDelete.java b/Lambdas/Lists/List/test/TestListDelete.java index 240261b..f9cd0f3 100644 --- a/Lambdas/Lists/List/test/TestListDelete.java +++ b/Lambdas/Lists/List/test/TestListDelete.java @@ -70,7 +70,7 @@ public class TestListDelete { assert false; //Error in test infrastructure return; } - + ListDeleter testMock = Mockito.spy(new ListDeleter(injector, "cognitoID")); Map body = (Map) TestBasicHandler.buildFullSampleMap().get("body"); diff --git a/Lambdas/Lists/List/test/TestListGetter.java b/Lambdas/Lists/List/test/TestListGetter.java index 2c563d4..0f2fa95 100644 --- a/Lambdas/Lists/List/test/TestListGetter.java +++ b/Lambdas/Lists/List/test/TestListGetter.java @@ -1,4 +1,6 @@ import org.junit.Test; +import org.mockito.Mockito; +import org.mockito.Mockito.*; import java.sql.SQLException; import java.sql.Timestamp; @@ -10,24 +12,20 @@ import java.util.Map; public class TestListGetter { @Test - public void testListGetterValid() { - conductListGetterTest(false); - } + public void testListGetterValid() { conductListGetterTestMock(false); } @Test public void testListIDGetterValid() { - conductListIDGetterTest(false); + conductListIDGetterTestMock(false); } @Test public void testListIDGetterError() { - conductListIDGetterTest(false); + conductListIDGetterTestMock(false); } @Test - public void testListGetterError() { - conductListGetterTest(true); - } + public void testListGetterError() { conductListGetterTestMock(true); } public void conductListGetterTest(boolean shouldThrow) { Integer listID = 1; @@ -72,8 +70,7 @@ public class TestListGetter { } public void conductListIDGetterTest(boolean shouldThrow) { - - + ArrayList rsReturns = new ArrayList<>(); rsReturns.add(1); rsReturns.add(2); @@ -102,4 +99,77 @@ public class TestListGetter { assert shouldThrow; } } + + public void conductListGetterTestMock(boolean shouldThrow) { + Integer listID = 1; + String name = "aname"; + String owner = "anowner"; + Timestamp lastUpdated = Timestamp.from(Instant.ofEpochMilli(1602192528688L)); + + Integer productID = 2; + Integer quantity = 3; + Timestamp addedDate = Timestamp.from(Instant.ofEpochMilli(1602192528689L));; + Boolean purchased = false; + + ArrayList rsReturns = new ArrayList<>(); + rsReturns.add(listID); + rsReturns.add(name); + rsReturns.add(owner); + rsReturns.add(lastUpdated); + rsReturns.add(productID); + rsReturns.add(quantity); + rsReturns.add(addedDate); + rsReturns.add(purchased); + StatementInjector injector = null; + try { + injector = new StatementInjector(null, rsReturns, shouldThrow); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } + ListGetter getter = Mockito.spy(new ListGetter(injector, "id")); + Map ignore = new HashMap<>(); + HashMap queryParams = TestInputUtils.addQueryParams(ignore); + queryParams.put("id", "1"); + try { + Object conductReturn = getter.conductAction(TestInputUtils.addBody(ignore), queryParams, "cognitoID"); + assert !shouldThrow; + assert (conductReturn.getClass() == List.class); + List listReturn = (List) conductReturn; + assert (listReturn.toString().equals("List{itemID=1, name='aname', owner='anowner', lastUpdated=1602192528688, entries=[ItemEntry{listID=1, productID=2, quantity=3, addedDate=1602192528689, purchased=false}]}")); + } catch (SQLException throwables) { + throwables.printStackTrace(); + assert shouldThrow; + } + } + + public void conductListIDGetterTestMock(boolean shouldThrow) { + ArrayList rsReturns = new ArrayList<>(); + rsReturns.add(1); + rsReturns.add(2); + rsReturns.add(3); + rsReturns.add(4); + + StatementInjector injector = null; + try { + injector = new StatementInjector(null, rsReturns, shouldThrow); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } + //ListGetter getter = new ListGetter(injector, "id"); + ListGetter getter = Mockito.spy(new ListGetter(injector, "id")); + Map ignore = new HashMap<>(); + HashMap queryParams = TestInputUtils.addQueryParams(ignore); + queryParams.put("id", "-1"); + try { + Object conductReturn = getter.conductAction(TestInputUtils.addBody(ignore), queryParams, "cognitoID"); + assert !shouldThrow; + assert (conductReturn.getClass() == ArrayList.class); + ArrayList listIDsReturn = (ArrayList) conductReturn; + System.out.println(listIDsReturn.toString()); + assert (listIDsReturn.toString().equals("[1, 2, 3, 4]")); + } catch (SQLException throwables) { + throwables.printStackTrace(); + assert shouldThrow; + } + } }