diff --git a/CTng/ctng.go b/CTng/ctng.go index a694269..97a7c75 100644 --- a/CTng/ctng.go +++ b/CTng/ctng.go @@ -12,7 +12,7 @@ import ( // A little front end. Feel free to modify to suit our needs. :) func main() { - helpText := "Usage: ./CTng [gossiper|monitor|logger] \n" + helpText := "Usage: ./CTng [gossiper|monitor|logger|ca] \n" if len(os.Args) < 3 { fmt.Println(helpText) os.Exit(1) @@ -54,6 +54,8 @@ func main() { server.StartMonitorServer(&ctx) case "logger": fakeLogger.RunLogger(os.Args[2]) + case "ca": + // fakeCA.runCA(os.Args[2]) default: fmt.Println(helpText) } diff --git a/CTng/gossiperTest.sh b/CTng/gossiperTest.sh index 7046a4f..c5d9c99 100644 --- a/CTng/gossiperTest.sh +++ b/CTng/gossiperTest.sh @@ -1,6 +1,6 @@ #/bin/bash go run . gossiper \ -testData/gossiperConfigs/gossiper_pub_config.json \ -testData/gossiperConfigs/$1/gossiper_priv_config.json \ -testData/gossiperConfigs/$1/gossiperCrypto.json \ No newline at end of file +testData/gossiperNetworkTest/gossiper_pub_config.json \ +testData/gossiperNetworkTest/$1/gossiper_priv_config.json \ +testData/gossiperNetworkTest/$1/gossiperCrypto.json \ No newline at end of file diff --git a/CTng/monitorTest.sh b/CTng/monitorTest.sh new file mode 100644 index 0000000..7a33a61 --- /dev/null +++ b/CTng/monitorTest.sh @@ -0,0 +1,6 @@ +#/bin/bash + +go run . monitor \ +testData/monitorNetworkTest/gossiper_pub_config.json \ +testData/monitorNetworkTest/$1/gossiper_priv_config.json \ +testData/gossiperNetworkTest/$1/gossiperCrypto.json \ No newline at end of file diff --git a/CTng/testData/fakeCA/fakeCA.go b/CTng/testData/fakeCA/fakeCA.go new file mode 100644 index 0000000..cef2b70 --- /dev/null +++ b/CTng/testData/fakeCA/fakeCA.go @@ -0,0 +1 @@ +package fakeCA diff --git a/CTng/testData/gossiperNetworkTest/1/gossiper_priv_config.json b/CTng/testData/gossiperNetworkTest/1/gossiper_priv_config.json index eebd9ed..c1a5b75 100644 --- a/CTng/testData/gossiperNetworkTest/1/gossiper_priv_config.json +++ b/CTng/testData/gossiperNetworkTest/1/gossiper_priv_config.json @@ -1,6 +1,6 @@ { - "Crypto_config_path": "testData/gossiperConfigs/1/gossiperCrypto.json", + "Crypto_config_path": "testData/gossiperNetworkTest/1/gossiperCrypto.json", "Connected_Gossipers": ["localhost:8081", "localhost:8082"], - "Owner_URL": "localhost:8079", + "Owner_URL": "localhost:8180", "Port": "8080" } \ No newline at end of file diff --git a/CTng/testData/gossiperNetworkTest/2/gossiper_priv_config.json b/CTng/testData/gossiperNetworkTest/2/gossiper_priv_config.json index eaf6297..8d2c85a 100644 --- a/CTng/testData/gossiperNetworkTest/2/gossiper_priv_config.json +++ b/CTng/testData/gossiperNetworkTest/2/gossiper_priv_config.json @@ -1,6 +1,6 @@ { - "Crypto_config_path": "testData/gossiperConfigs/2/gossiperCrypto.json", + "Crypto_config_path": "testData/gossiperNetworkTest/2/gossiperCrypto.json", "Connected_Gossipers": ["localhost:8082", "localhost:8083"], - "Owner_URL": "localhost:8079", + "Owner_URL": "localhost:8181", "Port": "8081" } \ No newline at end of file diff --git a/CTng/testData/gossiperNetworkTest/3/gossiper_priv_config.json b/CTng/testData/gossiperNetworkTest/3/gossiper_priv_config.json index 64d0293..437bd65 100644 --- a/CTng/testData/gossiperNetworkTest/3/gossiper_priv_config.json +++ b/CTng/testData/gossiperNetworkTest/3/gossiper_priv_config.json @@ -1,6 +1,6 @@ { - "Crypto_config_path": "testData/gossiperConfigs/3/gossiperCrypto.json", + "Crypto_config_path": "testData/gossiperNetworkTest/3/gossiperCrypto.json", "Connected_Gossipers": ["localhost:8083", "localhost:8080"], - "Owner_URL": "localhost:8079", + "Owner_URL": "localhost:8182", "Port": "8082" } \ No newline at end of file diff --git a/CTng/testData/gossiperNetworkTest/4/gossiper_priv_config.json b/CTng/testData/gossiperNetworkTest/4/gossiper_priv_config.json index f697460..d02d2e7 100644 --- a/CTng/testData/gossiperNetworkTest/4/gossiper_priv_config.json +++ b/CTng/testData/gossiperNetworkTest/4/gossiper_priv_config.json @@ -1,6 +1,6 @@ { - "Crypto_config_path": "testData/gossiperConfigs/4/gossiperCrypto.json", + "Crypto_config_path": "testData/gossiperNetworkTest/4/gossiperCrypto.json", "Connected_Gossipers": ["localhost:8080", "localhost:8081"], - "Owner_URL": "localhost:8079", + "Owner_URL": "localhost:8183", "Port": "8083" } \ No newline at end of file diff --git a/CTng/testData/gossiperNetworkTest/Readme.md b/CTng/testData/gossiperNetworkTest/Readme.md new file mode 100644 index 0000000..a0f6523 --- /dev/null +++ b/CTng/testData/gossiperNetworkTest/Readme.md @@ -0,0 +1,24 @@ +# Gossiper Network Test + +These folders specify a test network of four gossipers. + + +### Connections +Gossiper Connections are as follows: +* 1 - 2,3 +* 2 - 3,4 +* 3 - 4,1 +* 4 - 1,2 + +Each Gossiper connects to the corresponding monitor number in +monitorNetworkTest: +* 1-1 +* 2-2 +* 3-3 +* 4-4 + +These servers are intended to provide a local test of all running components. The gossiper network can also be tested without monitors, although data must be sent manually + appropriately utilizing `client_test.go` to push data into gossiper 3. + + +### Running a gossiper +To run a gossiper, go to the root of this project and run `sh ./gossiperTest N` where N is the number of the gossiper you want to run. This runs ctng.go with the parameters from these test files. \ No newline at end of file diff --git a/CTng/testData/gossiperNetworkTest/gossiper_pub_config.json b/CTng/testData/gossiperNetworkTest/gossiper_pub_config.json index c98cd36..8a9ae4a 100644 --- a/CTng/testData/gossiperNetworkTest/gossiper_pub_config.json +++ b/CTng/testData/gossiperNetworkTest/gossiper_pub_config.json @@ -5,5 +5,7 @@ "Expiration_time": 86400, "Port": "22", "Gossiper_URLs": ["localhost:8080","localhost:8081", "localhost:8082", "localhost:8083"], - "Signer_URLs": ["localhost:8080","localhost:8081", "localhost:8082","localhost:8083"] + "Signer_URLs": ["localhost:8080","localhost:8081", "localhost:8082","localhost:8083", + "localhost:9000","localhost:9001","localhost:9002","localhost:9003", + "localhost:9100","localhost:9101","localhost:9102","localhost:9103"] } \ No newline at end of file diff --git a/CTng/testData/monitorNetworkTest/1/monitor_priv_config.json b/CTng/testData/monitorNetworkTest/1/monitor_priv_config.json new file mode 100644 index 0000000..7328ec7 --- /dev/null +++ b/CTng/testData/monitorNetworkTest/1/monitor_priv_config.json @@ -0,0 +1,7 @@ +{ + "Crypto_config_path": "testData/monitorNetworkTest/1/monitorCrypto.json", + "CA_URLs": ["192.168.1.1", "1.1.1.1", "255.255.255.255"], + "Logger_URLs": ["192.168.1.1", "1.1.1.1", "255.255.255.255"], + "Gossiper_URL": "localhost:8080", + "Port": "8180" +} \ No newline at end of file diff --git a/CTng/testData/monitorNetworkTest/2/monitor_priv_config.json b/CTng/testData/monitorNetworkTest/2/monitor_priv_config.json new file mode 100644 index 0000000..4e161ba --- /dev/null +++ b/CTng/testData/monitorNetworkTest/2/monitor_priv_config.json @@ -0,0 +1,7 @@ +{ + "Crypto_config_path": "testData/monitorNetworkTest/2/monitorCrypto.json", + "CA_URLs": ["localhost:9101", "localhost:9102"], + "Logger_URLs": ["localhost:9001", "localhost:9002"], + "Gossiper_URL": "localhost:8081", + "Port": "8181" +} \ No newline at end of file diff --git a/CTng/testData/monitorNetworkTest/3/monitor_priv_config.json b/CTng/testData/monitorNetworkTest/3/monitor_priv_config.json new file mode 100644 index 0000000..da2b49a --- /dev/null +++ b/CTng/testData/monitorNetworkTest/3/monitor_priv_config.json @@ -0,0 +1,7 @@ +{ + "Crypto_config_path": "testData/monitorNetworkTest/3/monitorCrypto.json", + "CA_URLs": ["localhost:9102", "localhost:9103"], + "Logger_URLs": ["localhost:9002", "localhost:9003"], + "Gossiper_URL": "localhost:8082", + "Port": "8182" +} \ No newline at end of file diff --git a/CTng/testData/monitorNetworkTest/4/monitor_priv_config.json b/CTng/testData/monitorNetworkTest/4/monitor_priv_config.json new file mode 100644 index 0000000..c32826c --- /dev/null +++ b/CTng/testData/monitorNetworkTest/4/monitor_priv_config.json @@ -0,0 +1,7 @@ +{ + "Crypto_config_path": "testData/monitorNetworkTest/4/monitorCrypto.json", + "CA_URLs": ["localhost:9100", "localhost:9101"], + "Logger_URLs": ["localhost:9001"], + "Gossiper_URL": "localhost:8083", + "Port": "8183" +} \ No newline at end of file diff --git a/CTng/testData/monitorNetworkTest/Readme.md b/CTng/testData/monitorNetworkTest/Readme.md new file mode 100644 index 0000000..4ace59e --- /dev/null +++ b/CTng/testData/monitorNetworkTest/Readme.md @@ -0,0 +1,15 @@ +# Monitor Network Configuration + +Each monitor number is connected to its corresponding gossiper number + +Monitors are responsible for the "FakeCAs" and "FakeLoggers" (see those folders for info) as follows: + +* 1 - logger1,logger2,CA1 +* 2 - logger2, logger3, CA2 +* 3 - logger1, logger3, CA1, CA3 +* 4 - logger2, CA2, CA3 + +### Running a monitor +Go to the root of this project and run `sh ./monitorTest.sh N` where N is the number of the monitor you want to run. This runs ctng.go with the parameters from these test files. + +Then, in a seperate window, run `sh ./monitorTest.sh N` with the same N to launch the corresponding Monitor. \ No newline at end of file diff --git a/CTng/testData/monitorNetworkTest/monitor_pub_config.json b/CTng/testData/monitorNetworkTest/monitor_pub_config.json new file mode 100644 index 0000000..8ba8fe3 --- /dev/null +++ b/CTng/testData/monitorNetworkTest/monitor_pub_config.json @@ -0,0 +1,8 @@ +{ + "All_CA_URLs": ["localhost:9100", "localhost:9101", "localhost:9102"], + "All_Logger_URLs": ["localhost:9000", "localhost:9001", "localhost:9002"], + "Gossip_wait_time": 3, + "MMD": 15, + "MRD": 15, + "Http_vers": ["2","1","3"] +}