use of com.jcabi.dynamo.Table in project jcabi-dynamo by jcabi.
the class ReTableTest method retriesDelete.
/**
* ReTable can retry delete calls to method delete.
* @throws Exception If some problem inside
*/
@Test
public void retriesDelete() throws Exception {
final Table table = Mockito.mock(Table.class);
final Attributes attrs = new Attributes();
final String msg = "Exception!";
Mockito.doThrow(new IOException(msg)).when(table).delete(attrs);
final Table retry = new ReTable(table);
try {
retry.delete(attrs);
} catch (final IOException ex) {
MatcherAssert.assertThat(ex.getMessage(), Matchers.equalTo(msg));
}
Mockito.verify(table, Mockito.times(Tv.THREE)).delete(attrs);
}
use of com.jcabi.dynamo.Table in project jcabi-dynamo by jcabi.
the class MkRegionTest method storesAndReadsAttributes.
/**
* MkRegion can store and read items.
* @throws Exception If some problem inside
*/
@Test
public void storesAndReadsAttributes() throws Exception {
final String name = "users";
final String key = "id";
final String attr = "description";
final String nattr = "thenumber";
final Region region = new MkRegion(new H2Data().with(name, new String[] { key }, attr, nattr));
final Table table = region.table(name);
table.put(new Attributes().with(key, "32443").with(attr, "first value to \n\t€ save").with(nattr, "150"));
final Item item = table.frame().iterator().next();
MatcherAssert.assertThat(item.has(attr), Matchers.is(true));
MatcherAssert.assertThat(item.get(attr).getS(), Matchers.containsString("\n\t\u20ac save"));
item.put(attr, new AttributeValueUpdate().withValue(new AttributeValue("this is another value")));
MatcherAssert.assertThat(item.get(attr).getS(), Matchers.containsString("another value"));
MatcherAssert.assertThat(item.get(nattr).getN(), Matchers.endsWith("50"));
}
use of com.jcabi.dynamo.Table in project jcabi-dynamo by jcabi.
the class ReRegionTest method retriesAwsCalls.
/**
* ReRegion can retry on some AWS calls.
* @throws Exception If some problem inside
*/
@Test
public void retriesAwsCalls() throws Exception {
final Table table = Mockito.mock(Table.class);
final Attributes attrs = new Attributes();
final String msg = "hey you";
Mockito.doThrow(new AmazonClientException(msg)).when(table).put(attrs);
final Region origin = Mockito.mock(Region.class);
Mockito.doReturn(table).when(origin).table(Mockito.anyString());
final Region region = new ReRegion(origin);
try {
region.table("test").put(attrs);
Assert.fail("exception expected here");
} catch (final AmazonClientException ex) {
assert ex.getMessage().equals(msg);
}
Mockito.verify(table, Mockito.times(Tv.THREE)).put(attrs);
}
use of com.jcabi.dynamo.Table in project jcabi-dynamo by jcabi.
the class MkRegionTest method storesAndReadsSingleAttribute.
/**
* MkRegion can store and read items.
* @throws Exception If some problem inside
*/
@Test
public void storesAndReadsSingleAttribute() throws Exception {
final String table = "ideas";
final String key = "number";
final String attr = "total";
final Region region = new MkRegion(new H2Data().with(table, new String[] { key }, attr));
final Table tbl = region.table(table);
tbl.put(new Attributes().with(key, "32443").with(attr, "0"));
final Item item = tbl.frame().iterator().next();
item.put(attr, new AttributeValueUpdate().withValue(new AttributeValue().withN("2")).withAction(AttributeAction.PUT));
MatcherAssert.assertThat(item.get(attr).getN(), Matchers.equalTo("2"));
}
Aggregations