From 8e4843c71712533eca30ac43a72f08a06abb2eae Mon Sep 17 00:00:00 2001
From: Jake Taylor <jake@elixxir.io>
Date: Tue, 5 Jan 2021 14:27:34 -0600
Subject: [PATCH] added testing for new params bindings

---
 bindings/params.go                         |  4 +-
 interfaces/params/CMIX_test.go             | 35 +++++++++++++++++
 interfaces/params/E2E_test.go              | 35 +++++++++++++++++
 interfaces/params/keyExchange_test.go      | 44 ++++++++++++++++++++++
 interfaces/params/network_test.go          | 44 ++++++++++++++++++++++
 interfaces/params/{Unsafe.go => unsafe.go} |  0
 interfaces/params/unsafe_test.go           | 44 ++++++++++++++++++++++
 7 files changed, 205 insertions(+), 1 deletion(-)
 create mode 100644 interfaces/params/keyExchange_test.go
 create mode 100644 interfaces/params/network_test.go
 rename interfaces/params/{Unsafe.go => unsafe.go} (100%)
 create mode 100644 interfaces/params/unsafe_test.go

diff --git a/bindings/params.go b/bindings/params.go
index 3d21838d9..d32541ad1 100644
--- a/bindings/params.go
+++ b/bindings/params.go
@@ -9,7 +9,9 @@
 
 package bindings
 
-import "gitlab.com/elixxir/client/interfaces/params"
+import (
+	"gitlab.com/elixxir/client/interfaces/params"
+)
 
 func (c *Client) GetCMIXParams() (string, error) {
 	p, err := params.GetDefaultCMIX().Marshal()
diff --git a/interfaces/params/CMIX_test.go b/interfaces/params/CMIX_test.go
index 01af75d68..06d1968bb 100644
--- a/interfaces/params/CMIX_test.go
+++ b/interfaces/params/CMIX_test.go
@@ -18,3 +18,38 @@ func TestGetDefaultCMIX(t *testing.T) {
 		t.Errorf("GetDefaultCMIX did not return expected values")
 	}
 }
+
+// New params path
+func TestGetCMIXParameters(t *testing.T) {
+	p := GetDefaultCMIX()
+
+	expected := p.RoundTries + 1
+	p.RoundTries = expected
+	jsonString, err := p.Marshal()
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	q, err := GetCMIXParameters(string(jsonString))
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	if q.RoundTries != expected {
+		t.Errorf("Parameters failed to change! Got %d, Expected %d", q.RoundTries, expected)
+	}
+}
+
+// No new params path
+func TestGetCMIXParameters_Default(t *testing.T) {
+	p := GetDefaultCMIX()
+
+	q, err := GetCMIXParameters("")
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	if q.RoundTries != p.RoundTries {
+		t.Errorf("Parameters failed to change! Got %d, Expected %d", q.RoundTries, p.RoundTries)
+	}
+}
diff --git a/interfaces/params/E2E_test.go b/interfaces/params/E2E_test.go
index 09230e135..f7d90c4ee 100644
--- a/interfaces/params/E2E_test.go
+++ b/interfaces/params/E2E_test.go
@@ -31,3 +31,38 @@ func TestSendType_String(t *testing.T) {
 		t.Errorf("Running String on unknown E2E type got %s", e.Type.String())
 	}
 }
+
+// New params path
+func TestGetE2EParameters(t *testing.T) {
+	p := GetDefaultE2E()
+
+	expected := p.RoundTries + 1
+	p.RoundTries = expected
+	jsonString, err := p.Marshal()
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	q, err := GetE2EParameters(string(jsonString))
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	if q.RoundTries != expected {
+		t.Errorf("Parameters failed to change! Got %d, Expected %d", q.RoundTries, expected)
+	}
+}
+
+// No new params path
+func TestGetE2EParameters_Default(t *testing.T) {
+	p := GetDefaultE2E()
+
+	q, err := GetE2EParameters("")
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	if q.RoundTries != p.RoundTries {
+		t.Errorf("Parameters failed to change! Got %d, Expected %d", q.RoundTries, p.RoundTries)
+	}
+}
diff --git a/interfaces/params/keyExchange_test.go b/interfaces/params/keyExchange_test.go
new file mode 100644
index 000000000..f45ff2c6a
--- /dev/null
+++ b/interfaces/params/keyExchange_test.go
@@ -0,0 +1,44 @@
+////////////////////////////////////////////////////////////////////////////////
+// Copyright © 2021 Privategrity Corporation                                   /
+//                                                                             /
+// All rights reserved.                                                        /
+////////////////////////////////////////////////////////////////////////////////
+
+package params
+
+import "testing"
+
+// New params path
+func TestGetRekeyParameters(t *testing.T) {
+	p := GetDefaultRekey()
+
+	expected := p.RoundTimeout + 1
+	p.RoundTimeout = expected
+	jsonString, err := p.Marshal()
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	q, err := GetRekeyParameters(string(jsonString))
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	if q.RoundTimeout != expected {
+		t.Errorf("Parameters failed to change! Got %d, Expected %d", q.RoundTimeout, expected)
+	}
+}
+
+// No new params path
+func TestGetRekeyParameters_Default(t *testing.T) {
+	p := GetDefaultRekey()
+
+	q, err := GetRekeyParameters("")
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	if q.RoundTimeout != p.RoundTimeout {
+		t.Errorf("Parameters failed to change! Got %d, Expected %d", q.RoundTimeout, p.RoundTimeout)
+	}
+}
diff --git a/interfaces/params/network_test.go b/interfaces/params/network_test.go
new file mode 100644
index 000000000..3b8b60967
--- /dev/null
+++ b/interfaces/params/network_test.go
@@ -0,0 +1,44 @@
+////////////////////////////////////////////////////////////////////////////////
+// Copyright © 2021 Privategrity Corporation                                   /
+//                                                                             /
+// All rights reserved.                                                        /
+////////////////////////////////////////////////////////////////////////////////
+
+package params
+
+import "testing"
+
+// New params path
+func TestGetNetworkParameters(t *testing.T) {
+	p := GetDefaultNetwork()
+
+	expected := p.MaxCheckedRounds + 1
+	p.MaxCheckedRounds = expected
+	jsonString, err := p.Marshal()
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	q, err := GetNetworkParameters(string(jsonString))
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	if q.MaxCheckedRounds != expected {
+		t.Errorf("Parameters failed to change! Got %d, Expected %d", q.MaxCheckedRounds, expected)
+	}
+}
+
+// No new params path
+func TestGetNetworkParameters_Default(t *testing.T) {
+	p := GetDefaultNetwork()
+
+	q, err := GetNetworkParameters("")
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	if q.MaxCheckedRounds != p.MaxCheckedRounds {
+		t.Errorf("Parameters failed to change! Got %d, Expected %d", q.MaxCheckedRounds, p.MaxCheckedRounds)
+	}
+}
diff --git a/interfaces/params/Unsafe.go b/interfaces/params/unsafe.go
similarity index 100%
rename from interfaces/params/Unsafe.go
rename to interfaces/params/unsafe.go
diff --git a/interfaces/params/unsafe_test.go b/interfaces/params/unsafe_test.go
new file mode 100644
index 000000000..49763fdf1
--- /dev/null
+++ b/interfaces/params/unsafe_test.go
@@ -0,0 +1,44 @@
+////////////////////////////////////////////////////////////////////////////////
+// Copyright © 2021 Privategrity Corporation                                   /
+//                                                                             /
+// All rights reserved.                                                        /
+////////////////////////////////////////////////////////////////////////////////
+
+package params
+
+import "testing"
+
+// New params path
+func TestGetUnsafeParameters(t *testing.T) {
+	p := GetDefaultUnsafe()
+
+	expected := p.RoundTries + 1
+	p.RoundTries = expected
+	jsonString, err := p.Marshal()
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	q, err := GetUnsafeParameters(string(jsonString))
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	if q.RoundTries != expected {
+		t.Errorf("Parameters failed to change! Got %d, Expected %d", q.RoundTries, expected)
+	}
+}
+
+// No new params path
+func TestGetUnsafeParameters_Default(t *testing.T) {
+	p := GetDefaultUnsafe()
+
+	q, err := GetUnsafeParameters("")
+	if err != nil {
+		t.Errorf("%+v", err)
+	}
+
+	if q.RoundTries != p.RoundTries {
+		t.Errorf("Parameters failed to change! Got %d, Expected %d", q.RoundTries, p.RoundTries)
+	}
+}
-- 
GitLab