spec.setStateStoreContainer(container);
Cluster expected = createTestCluster(new String[]{"region/id1", "region/id2"},
new String[]{"role1", "role2"});
BlobClusterStateStore store = new BlobClusterStateStore(spec);
store.save(expected);
/* load and check the stored state */
Cluster stored = store.load();
Cluster.Instance first = Iterables.getFirst(stored.getInstances(), null);
assertNotNull(first);
assertThat(first.getId(), is("region/id1"));
assertThat(first.getRoles().contains("role1"), is(true));
assertThat(stored.getInstances().size(), is(2));
/* destroy stored state and check it no longer exists */
store.destroy();
expected = store.load();
assertNull(expected);
} finally {
LOG.info("Removing temporary container '{}'", container);
context.getBlobStore().deleteContainer(container);