@SuppressWarnings("unchecked") @Test public void testGetFilterIdsIndex() { ZuulFilterDAO dao = new ZuulFilterDAOCassandra(gateway); // setup empty response String fids = "filter1|filter2|filter3"; /* create mock response data */ Row<String, String> row0 = mockRow(); ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_ids", fids); // when(response.getRowByIndex(0)).thenReturn(row0); Iterator<Row<String, String>> iterator = (Iterator<Row<String, String>>) mock(Iterator.class); when(response.iterator()).thenReturn(iterator); when(iterator.hasNext()).thenReturn(true, false); // 1 row when(iterator.next()).thenReturn(row0, (Row) null); when(gateway.select(anyString())).thenReturn(response); when(response.isEmpty()).thenReturn(false); when(response.size()).thenReturn(1); /* exercise the method we're testing */ List<String> list = dao.getFilterIdsIndex("index"); /* validate responses */ assertEquals(list.size(), 3); assertEquals(list.get(0), "filter1"); assertEquals(list.get(1), "filter2"); assertEquals(list.get(2), "filter3"); }
/** * We can't unit test the CQL query or how Cassandra will behave, that will have to be manually confirmed. * We can however test that whatever rows are returned do end up in the List<EndpointURI> that we expect. */ @SuppressWarnings("unchecked") @Test public void testGetAllEndpointsReturnsResults() { ZuulFilterDAO dao = new ZuulFilterDAOCassandra(gateway); // setup empty response String fids = "filter1|filter2"; /* create mock response data */ Row<String, String> row0 = mockRow(); ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_ids", fids); // when(response.getRowByIndex(0)).thenReturn(row0); Iterator<Row<String, String>> iterator = (Iterator<Row<String, String>>) mock(Iterator.class); when(response.iterator()).thenReturn(iterator); when(iterator.hasNext()).thenReturn(true, false); // 1 row when(iterator.next()).thenReturn(row0, (Row) null); when(gateway.select(anyString())).thenReturn(response); when(response.isEmpty()).thenReturn(false); when(response.size()).thenReturn(1); /* exercise the method we're testing */ List<String> list = dao.getAllFilterIDs(); /* validate responses */ assertEquals("filter1", list.get(0)); assertEquals("filter2", list.get(1)); }
@SuppressWarnings("unchecked") @Test public void testGetFilterIdsRawIndex() { ZuulFilterDAO dao = new ZuulFilterDAOCassandra(gateway); // setup empty response String fids = "filter1|filter2|filter3"; /* create mock response data */ Row<String, String> row0 = mockRow(); ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_ids", fids); // when(response.getRowByIndex(0)).thenReturn(row0); Iterator<Row<String, String>> iterator = (Iterator<Row<String, String>>) mock(Iterator.class); when(response.iterator()).thenReturn(iterator); when(iterator.hasNext()).thenReturn(true, false); // 1 row when(iterator.next()).thenReturn(row0, (Row) null); when(gateway.select(anyString())).thenReturn(response); when(response.isEmpty()).thenReturn(false); when(response.size()).thenReturn(1); /* exercise the method we're testing */ String list = dao.getFilterIdsRaw("index"); /* validate responses */ assertEquals(fids, list); }
ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "filter_name", "name"); ColumnList<String> columnList1 = mockColumnList(row1); mockColumn(columnList1, "filter_id", filter); mockColumn(columnList1, "revision", 2L);
ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "revision", 1L);
ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "revision", 3L); ColumnList<String> columnList1 = mockColumnList(row1); mockColumn(columnList1, "filter_id", filter); mockColumn(columnList1, "revision", 4L);
ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "revision", 3L);
ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "revision", 3L);
ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "revision", 4L);
ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "revision", 3L);
ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "filter_name", "name"); ColumnList<String> columnList1 = mockColumnList(row1); mockColumn(columnList1, "filter_id", filter); mockColumn(columnList1, "revision", 2L);
ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "revision", 3L);
ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "revision", 3L);
ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "revision", 4L);
ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "revision", 3L);
/** * We can't unit test the CQL query or how Cassandra will behave, that will have to be manually confirmed. * We can however test that whatever rows are returned do end up in the List<EndpointURI> that we expect. */ @SuppressWarnings("unchecked") @Test public void testGetAllEndpointsReturnsResults() { ZuulFilterDAO dao = new ZuulFilterDAOCassandra(gateway); // setup empty response String fids = "filter1|filter2"; /* create mock response data */ Row<String, String> row0 = mockRow(); ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_ids", fids); // when(response.getRowByIndex(0)).thenReturn(row0); Iterator<Row<String, String>> iterator = (Iterator<Row<String, String>>) mock(Iterator.class); when(response.iterator()).thenReturn(iterator); when(iterator.hasNext()).thenReturn(true, false); // 1 row when(iterator.next()).thenReturn(row0, (Row) null); when(gateway.select(anyString())).thenReturn(response); when(response.isEmpty()).thenReturn(false); when(response.size()).thenReturn(1); /* exercise the method we're testing */ List<String> list = dao.getAllFilterIDs(); /* validate responses */ assertEquals("filter1", list.get(0)); assertEquals("filter2", list.get(1)); }
@SuppressWarnings("unchecked") @Test public void testGetFilterIdsIndex() { ZuulFilterDAO dao = new ZuulFilterDAOCassandra(gateway); // setup empty response String fids = "filter1|filter2|filter3"; /* create mock response data */ Row<String, String> row0 = mockRow(); ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_ids", fids); // when(response.getRowByIndex(0)).thenReturn(row0); Iterator<Row<String, String>> iterator = (Iterator<Row<String, String>>) mock(Iterator.class); when(response.iterator()).thenReturn(iterator); when(iterator.hasNext()).thenReturn(true, false); // 1 row when(iterator.next()).thenReturn(row0, (Row) null); when(gateway.select(anyString())).thenReturn(response); when(response.isEmpty()).thenReturn(false); when(response.size()).thenReturn(1); /* exercise the method we're testing */ List<String> list = dao.getFilterIdsIndex("index"); /* validate responses */ assertEquals(list.size(), 3); assertEquals(list.get(0), "filter1"); assertEquals(list.get(1), "filter2"); assertEquals(list.get(2), "filter3"); }
@SuppressWarnings("unchecked") @Test public void testGetFilterIdsRawIndex() { ZuulFilterDAO dao = new ZuulFilterDAOCassandra(gateway); // setup empty response String fids = "filter1|filter2|filter3"; /* create mock response data */ Row<String, String> row0 = mockRow(); ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_ids", fids); // when(response.getRowByIndex(0)).thenReturn(row0); Iterator<Row<String, String>> iterator = (Iterator<Row<String, String>>) mock(Iterator.class); when(response.iterator()).thenReturn(iterator); when(iterator.hasNext()).thenReturn(true, false); // 1 row when(iterator.next()).thenReturn(row0, (Row) null); when(gateway.select(anyString())).thenReturn(response); when(response.isEmpty()).thenReturn(false); when(response.size()).thenReturn(1); /* exercise the method we're testing */ String list = dao.getFilterIdsRaw("index"); /* validate responses */ assertEquals(fids, list); }
private static void mockGetScriptForEndpoint(Rows<String, String> response, String filter) { /* mock data so that the getScriptForEndpoint at the end of the method will work */ Calendar now = Calendar.getInstance(); Row<String, String> row0 = mockRow(); ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "revision", 1L); mockColumn(columnList0, "active", false); mockColumn(columnList0, "creation_date", now.getTime()); mockColumn(columnList0, "filter_code", "System.out.println(\"hello world\")".getBytes()); // what we put here doesn't matter mockColumn(columnList0, "filter_name", "name"); mockColumn(columnList0, "filter_type", "type"); mockColumn(columnList0, "canary", false); when(response.getRowByIndex(0)).thenReturn(row0); when(response.isEmpty()).thenReturn(true, false); // true on the first request, false thereafter when(response.size()).thenReturn(1); } }
private static void mockGetScriptForEndpoint(Rows<String, String> response, String filter) { /* mock data so that the getScriptForEndpoint at the end of the method will work */ Calendar now = Calendar.getInstance(); Row<String, String> row0 = mockRow(); ColumnList<String> columnList0 = mockColumnList(row0); mockColumn(columnList0, "filter_id", filter); mockColumn(columnList0, "revision", 1L); mockColumn(columnList0, "active", false); mockColumn(columnList0, "creation_date", now.getTime()); mockColumn(columnList0, "filter_code", "System.out.println(\"hello world\")".getBytes()); // what we put here doesn't matter mockColumn(columnList0, "filter_name", "name"); mockColumn(columnList0, "filter_type", "INBOUND"); mockColumn(columnList0, "canary", false); when(response.getRowByIndex(0)).thenReturn(row0); when(response.isEmpty()).thenReturn(true, false); // true on the first request, false thereafter when(response.size()).thenReturn(1); } }