@Test public void shouldSkipMotechPropertyThatHasJsonObjectAsValue() { MotechProperties motechProperties = (MotechProperties) reader.readFromFile("/complex-motech-properties.json", MotechProperties.class); assertThat(motechProperties.size(), IsEqual.equalTo(5)); assertThat(motechProperties, not(Matchers.hasKey("edd"))); assertThat(motechProperties, not(Matchers.hasKey("next_due"))); assertThat(motechProperties, not(Matchers.hasKey("next_form"))); assertThat(motechProperties, not(Matchers.hasKey("partner_name"))); assertThat(motechProperties, not(Matchers.hasKey("village"))); }
/** * ArrayMap can make a map fluently. * * @throws Exception If some problem inside */ @Test public void buildsMapFluently() throws Exception { MatcherAssert.assertThat( new ArrayMap<Integer, String>() .with(Tv.FIVE, "four") .with(Tv.FIVE, Integer.toString(Tv.FIVE)) .with(Tv.FORTY, "fourty") .without(Tv.FORTY) .with(Tv.TEN, "ten"), Matchers.allOf( Matchers.not(Matchers.hasKey(Tv.FORTY)), Matchers.hasValue(Integer.toString(Tv.FIVE)), Matchers.hasKey(Tv.FIVE), Matchers.hasEntry(Tv.FIVE, Integer.toString(Tv.FIVE)))); }
/** * WebLinkingResponse can recognize Links in headers. * * @throws Exception If something goes wrong inside */ @Test @SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops") public void parsesLinksInHeaders() throws Exception { final String[] headers = { "</hey/foo>; title=\"Hi!\"; rel=foo", "</hey/foo>; title=\"\u20ac\"; rel=\"foo\"; media=\"text/xml\"", }; for (final String header : headers) { final WebLinkingResponse response = new WebLinkingResponse(new FakeRequest().withHeader("Link", header).fetch()); final WebLinkingResponse.Link link = response.links().get("foo"); MatcherAssert.assertThat(link.uri(), Matchers.hasToString("/hey/foo")); MatcherAssert.assertThat(link, Matchers.hasKey("title")); MatcherAssert.assertThat(response.links(), Matchers.not(Matchers.hasKey("something else"))); } }
void assertRealtimeGetWorks(String indexName) { assertAcked( client() .admin() .indices() .prepareUpdateSettings(indexName) .setSettings(Settings.builder().put("refresh_interval", -1).build())); SearchRequestBuilder searchReq = client().prepareSearch(indexName).setQuery(QueryBuilders.matchAllQuery()); SearchHit hit = searchReq.get().getHits().getAt(0); String docId = hit.getId(); // foo is new, it is not a field in the generated index client().prepareUpdate(indexName, "doc", docId).setDoc("foo", "bar").get(); GetResponse getRsp = client().prepareGet(indexName, "doc", docId).get(); Map<String, Object> source = getRsp.getSourceAsMap(); assertThat(source, Matchers.hasKey("foo")); assertAcked( client() .admin() .indices() .prepareUpdateSettings(indexName) .setSettings( Settings.builder() .put("refresh_interval", EngineConfig.DEFAULT_REFRESH_INTERVAL) .build())); }
/** * ArrayMap can add maps. * * @throws Exception If some problem inside */ @Test public void appendsEntireMapToItself() throws Exception { MatcherAssert.assertThat( new ArrayMap<Integer, String>() .with(Tv.FIVE, "") .with(new ArrayMap<Integer, String>().with(Tv.TEN, "")), Matchers.hasKey(Tv.TEN)); }
@Test public void testE2EBigtableWrite() throws Exception { final String tableName = bigtableOptions.getInstanceName().toTableNameStr(tableId); final String instanceName = bigtableOptions.getInstanceName().toString(); final int numRows = 1000; final List<KV<ByteString, ByteString>> testData = generateTableData(numRows); createEmptyTable(instanceName, tableId); Pipeline p = Pipeline.create(options); p.apply(CountingInput.upTo(numRows)) .apply( ParDo.of( new DoFn<Long, KV<ByteString, Iterable<Mutation>>>() { @ProcessElement public void processElement(ProcessContext c) { int index = c.element().intValue(); Iterable<Mutation> mutations = ImmutableList.of( Mutation.newBuilder() .setSetCell( Mutation.SetCell.newBuilder() .setValue(testData.get(index).getValue()) .setFamilyName(COLUMN_FAMILY_NAME)) .build()); c.output(KV.of(testData.get(index).getKey(), mutations)); } })) .apply(BigtableIO.write().withBigtableOptions(bigtableOptions).withTableId(tableId)); p.run(); // Test number of column families and column family name equality Table table = getTable(tableName); assertThat(table.getColumnFamilies().keySet(), Matchers.hasSize(1)); assertThat(table.getColumnFamilies(), Matchers.hasKey(COLUMN_FAMILY_NAME)); // Test table data equality List<KV<ByteString, ByteString>> tableData = getTableData(tableName); assertThat(tableData, Matchers.containsInAnyOrder(testData.toArray())); }