Skip to content
This repository has been archived by the owner on Sep 26, 2019. It is now read-only.

[MINOR] refactoring to introduce deleteOnExit() for temp files #920

Merged
merged 2 commits into from
Feb 20, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ public void startNode(final PantheonNode node) {
private Path createGenesisFile(final PantheonNode node, final EthNetworkConfig ethNetworkConfig) {
try {
Path genesisFile = Files.createTempFile(node.homeDirectory(), "genesis", "");
genesisFile.toFile().deleteOnExit();
Files.write(genesisFile, ethNetworkConfig.getGenesisConfig().getBytes(UTF_8));
return genesisFile;
} catch (IOException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,7 @@ public PantheonNode createNodeWithNodesWhitelist(
PermissioningConfiguration.createDefault();
permissioningConfiguration.setNodeWhitelist(nodesWhitelist);
File tempFile = createTempPermissioningConfigurationFile();
tempFile.deleteOnExit();
permissioningConfiguration.setConfigurationFilePath(tempFile.getPath());
initPermissioningConfigurationFile(
WhitelistPersistor.WHITELIST_TYPE.NODES,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@

import java.net.InetAddress;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
Expand Down Expand Up @@ -414,8 +415,10 @@ public void rejectIncomingConnectionFromNonWhitelistedPeer() throws Exception {
final PeerBlacklist localBlacklist = new PeerBlacklist();
final PeerBlacklist remoteBlacklist = new PeerBlacklist();
final PermissioningConfiguration config = PermissioningConfiguration.createDefault();
config.setConfigurationFilePath(
Files.createTempFile("test", "test").toAbsolutePath().toString());
final Path tempFile = Files.createTempFile("test", "test");
tempFile.toFile().deleteOnExit();
config.setConfigurationFilePath(tempFile.toAbsolutePath().toString());

final NodeWhitelistController localWhitelistController =
new NodeWhitelistController(config, Collections.emptyList());
// turn on whitelisting by adding a different node NOT remote node
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
import java.io.IOException;
import java.net.URI;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
Expand Down Expand Up @@ -1212,8 +1213,9 @@ private PeerDiscoveryController startPeerDiscoveryController(

private PermissioningConfiguration permissioningConfigurationWithTempFile() throws IOException {
final PermissioningConfiguration config = PermissioningConfiguration.createDefault();
config.setConfigurationFilePath(
Files.createTempFile("test", "test").toAbsolutePath().toString());
Path tempFile = Files.createTempFile("test", "test");
tempFile.toFile().deleteOnExit();
config.setConfigurationFilePath(tempFile.toAbsolutePath().toString());
return config;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import tech.pegasys.pantheon.util.bytes.BytesValue;

import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
Expand Down Expand Up @@ -480,10 +481,11 @@ public void shouldNotBondWithNodesRejectedByWhitelist() throws Exception {
final DiscoveryPeer peerA = new DiscoveryPeer(createId(1), "127.0.0.1", 1, 1);
final DiscoveryPeer peerB = new DiscoveryPeer(createId(2), "127.0.0.2", 2, 2);

final Path tempFile = Files.createTempFile("test", "test");
tempFile.toFile().deleteOnExit();
final PermissioningConfiguration permissioningConfiguration =
PermissioningConfiguration.createDefault();
permissioningConfiguration.setConfigurationFilePath(
Files.createTempFile("test", "test").toAbsolutePath().toString());
permissioningConfiguration.setConfigurationFilePath(tempFile.toAbsolutePath().toString());

final NodeWhitelistController peerWhitelist =
new NodeWhitelistController(permissioningConfiguration, Collections.emptyList());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,7 @@ public void accountThatDoesNotStartWith0xIsNotValid() {
private Path createPermissionsFileWithAccount(final String account) throws IOException {
final String nodePermissionsFileContent = "accounts-whitelist=[\"" + account + "\"]";
final Path permissionsFile = Files.createTempFile("account_permissions", "");
permissionsFile.toFile().deleteOnExit();
Files.write(permissionsFile, nodePermissionsFileContent.getBytes(StandardCharsets.UTF_8));
return permissionsFile;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,7 @@ public void whenReloadingWhitelistAndNothingChangesShouldNotNotifyWhitelistModif
private Path createPermissionsFileWithNode(final String node) throws IOException {
final String nodePermissionsFileContent = "nodes-whitelist=[\"" + node + "\"]";
final Path permissionsFile = Files.createTempFile("node_permissions", "");
permissionsFile.toFile().deleteOnExit();
Files.write(permissionsFile, nodePermissionsFileContent.getBytes(StandardCharsets.UTF_8));
return permissionsFile;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@
*/
package tech.pegasys.pantheon.ethereum.permissioning;

import static java.nio.charset.StandardCharsets.UTF_8;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowable;

import java.io.IOException;
import java.net.URI;
import java.net.URL;
import java.nio.file.Files;
Expand Down Expand Up @@ -53,8 +55,7 @@ public void permissioningConfig() throws Exception {
final String uri2 = "enode://" + VALID_NODE_ID + "@192.169.0.9:4568";

final URL configFile = Resources.getResource(PERMISSIONING_CONFIG_VALID);
final Path toml = Files.createTempFile("toml", "");
Files.write(toml, Resources.toByteArray(configFile));
final Path toml = createTempFile("toml", Resources.toByteArray(configFile));

PermissioningConfiguration permissioningConfiguration = permissioningConfig(toml);

Expand All @@ -71,8 +72,7 @@ public void permissioningConfigWithOnlyNodeWhitelistSet() throws Exception {
final String uri = "enode://" + VALID_NODE_ID + "@192.168.0.9:4567";

final URL configFile = Resources.getResource(PERMISSIONING_CONFIG_NODE_WHITELIST_ONLY);
final Path toml = Files.createTempFile("toml", "");
Files.write(toml, Resources.toByteArray(configFile));
final Path toml = createTempFile("toml", Resources.toByteArray(configFile));

PermissioningConfiguration permissioningConfiguration =
PermissioningConfigurationBuilder.permissioningConfiguration(
Expand All @@ -86,8 +86,7 @@ public void permissioningConfigWithOnlyNodeWhitelistSet() throws Exception {
@Test
public void permissioningConfigWithOnlyAccountWhitelistSet() throws Exception {
final URL configFile = Resources.getResource(PERMISSIONING_CONFIG_ACCOUNT_WHITELIST_ONLY);
final Path toml = Files.createTempFile("toml", "");
Files.write(toml, Resources.toByteArray(configFile));
final Path toml = createTempFile("toml", Resources.toByteArray(configFile));

PermissioningConfiguration permissioningConfiguration =
PermissioningConfigurationBuilder.permissioningConfiguration(
Expand All @@ -102,8 +101,7 @@ public void permissioningConfigWithOnlyAccountWhitelistSet() throws Exception {
@Test
public void permissioningConfigWithInvalidAccount() throws Exception {
final URL configFile = Resources.getResource(PERMISSIONING_CONFIG_INVALID_ACCOUNT);
final Path toml = Files.createTempFile("toml", "");
Files.write(toml, Resources.toByteArray(configFile));
final Path toml = createTempFile("toml", Resources.toByteArray(configFile));

final Throwable thrown = catchThrowable(() -> permissioningConfig(toml));

Expand All @@ -115,8 +113,7 @@ public void permissioningConfigWithInvalidAccount() throws Exception {
@Test
public void permissioningConfigWithInvalidEnode() throws Exception {
final URL configFile = Resources.getResource(PERMISSIONING_CONFIG_INVALID_ENODE);
final Path toml = Files.createTempFile("toml", "");
Files.write(toml, Resources.toByteArray(configFile));
final Path toml = createTempFile("toml", Resources.toByteArray(configFile));

final Throwable thrown = catchThrowable(() -> permissioningConfig(toml));

Expand All @@ -128,8 +125,7 @@ public void permissioningConfigWithInvalidEnode() throws Exception {
@Test
public void permissioningConfigWithEmptyWhitelistMustNotError() throws Exception {
final URL configFile = Resources.getResource(PERMISSIONING_CONFIG_EMPTY_WHITELISTS);
final Path toml = Files.createTempFile("toml", "");
Files.write(toml, Resources.toByteArray(configFile));
final Path toml = createTempFile("toml", Resources.toByteArray(configFile));

PermissioningConfiguration permissioningConfiguration = permissioningConfig(toml);

Expand All @@ -142,8 +138,7 @@ public void permissioningConfigWithEmptyWhitelistMustNotError() throws Exception
@Test
public void permissioningConfigWithAbsentWhitelistMustThrowException() throws Exception {
final URL configFile = Resources.getResource(PERMISSIONING_CONFIG_ABSENT_WHITELISTS);
final Path toml = Files.createTempFile("toml", "");
Files.write(toml, Resources.toByteArray(configFile));
final Path toml = createTempFile("toml", Resources.toByteArray(configFile));

final Throwable thrown = catchThrowable(() -> permissioningConfig(toml));

Expand All @@ -153,8 +148,7 @@ public void permissioningConfigWithAbsentWhitelistMustThrowException() throws Ex
@Test
public void permissioningConfigWithUnrecognizedKeyMustThrowException() throws Exception {
final URL configFile = Resources.getResource(PERMISSIONING_CONFIG_UNRECOGNIZED_KEY);
final Path toml = Files.createTempFile("toml", "");
Files.write(toml, Resources.toByteArray(configFile));
final Path toml = createTempFile("toml", Resources.toByteArray(configFile));

final Throwable thrown = catchThrowable(() -> permissioningConfig(toml));

Expand All @@ -167,7 +161,7 @@ public void permissioningConfigWithUnrecognizedKeyMustThrowException() throws Ex
@Test
public void permissioningConfigWithEmptyFileMustThrowException() throws Exception {
// write an empty file
final Path toml = Files.createTempFile("toml", "");
final Path toml = createTempFile("toml", "".getBytes(UTF_8));

final Throwable thrown = catchThrowable(() -> permissioningConfig(toml));

Expand All @@ -177,8 +171,7 @@ public void permissioningConfigWithEmptyFileMustThrowException() throws Exceptio
@Test
public void permissioningConfigFromFileMustSetFilePath() throws Exception {
final URL configFile = Resources.getResource(PERMISSIONING_CONFIG_VALID);
final Path toml = Files.createTempFile("toml", "");
Files.write(toml, Resources.toByteArray(configFile));
final Path toml = createTempFile("toml", Resources.toByteArray(configFile));

PermissioningConfiguration permissioningConfiguration =
PermissioningConfigurationBuilder.permissioningConfigurationFromToml(
Expand Down Expand Up @@ -213,4 +206,11 @@ private PermissioningConfiguration permissioningConfig(final Path toml) throws E
return PermissioningConfigurationBuilder.permissioningConfiguration(
toml.toAbsolutePath().toString(), true, true);
}

private Path createTempFile(final String filename, final byte[] contents) throws IOException {
final Path file = Files.createTempFile(filename, "");
Files.write(file, contents);
file.toFile().deleteOnExit();
return file;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ public class WhitelistPersistorTest {
public void setUp() throws IOException {
List<String> lines = Lists.newArrayList(nodesWhitelist, accountsWhitelist);
tempFile = File.createTempFile("test", "test");
tempFile.deleteOnExit();
Files.write(tempFile.toPath(), lines, StandardOpenOption.WRITE, StandardOpenOption.CREATE);
whitelistPersistor = new WhitelistPersistor(tempFile.getAbsolutePath());
}
Expand Down
Loading