@JsonCreator private static SnapshotId jsonCreator(@Nullable String id) { checkArgument(!isNullOrEmpty(id), "Id must be provided"); return new SnapshotId(id); } }
@Override public @Nonnull SnapshotId generateSnapshotId() { return new SnapshotId(uuid()); } }
public SnapshotId getTestrig() { String name = _config.getString(BfConsts.ARG_TESTRIG); return name != null ? new SnapshotId(name) : null; }
public SnapshotId getDeltaTestrig() { String name = _config.getString(BfConsts.ARG_DELTA_TESTRIG); return name != null ? new SnapshotId(name) : null; }
@VisibleForTesting static InitializationMetadata getInitializationMetadata(String network, String snapshot) throws IOException { // already resolved return SnapshotMetadataMgr.getInitializationMetadata( new NetworkId(network), new SnapshotId(snapshot)); } }
@Override public @Nonnull SnapshotId getSnapshotId(String snapshot, NetworkId networkId) { if (!hasSnapshotId(snapshot, networkId)) { throw new IllegalArgumentException( String.format("No ID assigned to non-existent snapshot '%s'", snapshot)); } return new SnapshotId(CommonUtil.readFile(getSnapshotIdPath(snapshot, networkId))); }
private static void updateInitializationStatus( String network, String snapshot, ProcessingStatus status, String errMessage) throws IOException { // already resolved SnapshotMetadataMgr.updateInitializationStatus( new NetworkId(network), new SnapshotId(snapshot), status, errMessage); }
public WorkMgrServiceTest() { _networkName = "myNetwork"; _networkId = new NetworkId(_networkName + "_id"); _snapshotName = "mySnapshot"; _snapshotId = new SnapshotId(_snapshotName + "_id"); }
@Override public @Nonnull SnapshotId generateSnapshotId() { return new SnapshotId(uuid()); }
public NetworkSnapshot networkSnapshot() { return new NetworkSnapshot( new NetworkId(UUID.randomUUID().toString()), new SnapshotId(UUID.randomUUID().toString())); }
@Override public NetworkSnapshot getNetworkSnapshot() { return new NetworkSnapshot(new NetworkId("a"), new SnapshotId("b")); } })
@Override public NetworkSnapshot getNetworkSnapshot() { return new NetworkSnapshot(new NetworkId("a"), new SnapshotId("b")); } })
@Test public void serialization() { SnapshotMetadata metadata = new SnapshotMetadata(Instant.ofEpochMilli(758949005001L), new SnapshotId("blah")); JsonNode jsonNode = BatfishObjectMapper.mapper().valueToTree(metadata); assertThat(jsonNode.get(PROP_CREATION_TIMESTAMP).asText(), equalTo("1994-01-19T03:10:05.001Z")); assertThat(jsonNode.get(PROP_PARENT_SNAPSHOT_ID).asText(), equalTo("blah")); assertThat( jsonNode.get(PROP_INITIALIZATION_METADATA).get("currentStatus").asText(), equalTo(ProcessingStatus.UNINITIALIZED.toString())); } }
@Test public void testLoadSnapshotInputObjectFile() throws IOException { NetworkId network = new NetworkId("network"); SnapshotId snapshot = new SnapshotId("snapshot"); String testSting = "what is life"; FileUtils.copyInputStreamToFile( new ByteArrayInputStream(testSting.getBytes()), _storage.getSnapshotInputObjectPath(network, snapshot, "test").toFile()); try (InputStream inputStream = _storage.loadSnapshotInputObject(network, snapshot, "test")) { assertThat(IOUtils.toString(inputStream, StandardCharsets.UTF_8.name()), equalTo(testSting)); } }
@Test public void roundTripConfigurationsSucceeds() { NetworkId network = new NetworkId("network"); SnapshotId snapshot = new SnapshotId("snapshot"); Map<String, Configuration> configs = new HashMap<>(); configs.put("node1", new Configuration("node1", ConfigurationFormat.CISCO_IOS)); _storage.storeConfigurations( configs, new ConvertConfigurationAnswerElement(), network, snapshot); Map<String, Configuration> deserialized = _storage.loadConfigurations(network, snapshot); assertThat(deserialized, not(nullValue())); assertThat(deserialized.keySet(), equalTo(Sets.newHashSet("node1"))); }
@Test public void testLoadCompletionMetadataMissing() throws IOException { NetworkId networkId = new NetworkId("network"); SnapshotId snapshotId = new SnapshotId("snapshot"); // if CompletionMetadata file is missing, should return a CompletionMetadata object with all // fields empty assertThat( _storage.loadCompletionMetadata(networkId, snapshotId), equalTo(CompletionMetadata.EMPTY)); } }
@Test public void testLoadWorkLog() throws IOException { // setup: pretend a worker logger has written a file NetworkId network = new NetworkId("network"); SnapshotId snapshot = new SnapshotId("snapshot"); Path dir = _storage.getDirectoryProvider().getSnapshotOutputDir(network, snapshot); final boolean mkdirs = dir.toFile().mkdirs(); assertThat(mkdirs, equalTo(true)); CommonUtil.writeFile(dir.resolve("workid.log"), "testoutput"); // Test: read log using storage API assertThat(_storage.loadWorkLog(network, snapshot, "workid"), equalTo("testoutput")); }
@Test public void loadMissingConfigurationsReturnsNull() { assertThat( _storage.loadConfigurations(new NetworkId("nonexistent"), new SnapshotId("nonexistent")), nullValue()); }
@Test public void testLoadWorkLogMissing() throws IOException { // setup: pretend a worker logger has written a file NetworkId network = new NetworkId("network"); SnapshotId snapshot = new SnapshotId("snapshot"); _thrown.expect(FileNotFoundException.class); assertThat(_storage.loadWorkLog(network, snapshot, "workid"), equalTo("testoutput")); }
@Test public void getCompletedWorkBadFilter() throws Exception { // Make sure we get no results or error filtering on a bogus snapshot List<QueuedWork> works0 = _workQueueMgr.getCompletedWork(new NetworkId("bogus"), new SnapshotId("bogus")); assertThat(works0, iterableWithSize(0)); }