From e8b6ad4fc5ba90ec6aa5bcd260e0b639288f3f00 Mon Sep 17 00:00:00 2001
From: Benjamin Wenger <ben@elixxir.ioo>
Date: Tue, 30 Aug 2022 16:02:32 -0700
Subject: [PATCH] fixed all testing interfaces that were broken due to the
 addition of cmix.SendWithAssembler

---
 connect/utils_test.go                |  6 ++++++
 dummy/mockCmix_test.go               | 14 ++++++++++++++
 e2e/fpGenerator_test.go              |  4 ++++
 e2e/rekey/utils_test.go              |  5 +++++
 e2e/utils_test.go                    |  5 +++++
 fileTransfer/connect/utils_test.go   |  5 +++++
 fileTransfer/e2e/utils_test.go       |  5 +++++
 fileTransfer/groupChat/utils_test.go |  5 +++++
 fileTransfer/utils_test.go           |  5 +++++
 groupChat/networkManager_test.go     |  7 +++++++
 xxdk/utilsInterfaces_test.go         |  7 +++++++
 11 files changed, 68 insertions(+)

diff --git a/connect/utils_test.go b/connect/utils_test.go
index 6e4be5173..63257119c 100644
--- a/connect/utils_test.go
+++ b/connect/utils_test.go
@@ -157,6 +157,12 @@ func (m *mockCmix) Send(*id.ID, format.Fingerprint, message.Service, []byte,
 	[]byte, cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
 	return 0, ephemeral.Id{}, nil
 }
+
+func (m *mockCmix) SendWithAssembler(recipient *id.ID, assembler cmix.MessageAssembler,
+	cmixParams cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
+	return 0, ephemeral.Id{}, nil
+}
+
 func (m *mockCmix) SendMany([]cmix.TargetedCmixMessage, cmix.CMIXParams) (id.Round, []ephemeral.Id, error) {
 	return 0, []ephemeral.Id{}, nil
 }
diff --git a/dummy/mockCmix_test.go b/dummy/mockCmix_test.go
index f8211be97..6de2a2a29 100644
--- a/dummy/mockCmix_test.go
+++ b/dummy/mockCmix_test.go
@@ -46,6 +46,20 @@ func (m *mockCmix) Send(recipient *id.ID, fingerprint format.Fingerprint, servic
 	return 0, ephemeral.Id{}, nil
 }
 
+func (m *mockCmix) SendWithAssembler(recipient *id.ID, assembler cmix.MessageAssembler,
+	cmixParams cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
+	m.Lock()
+	defer m.Unlock()
+
+	fingerprint, service, payload, mac, err := assembler(42)
+	if err != nil {
+		return 0, ephemeral.Id{}, err
+	}
+	m.messages[*recipient] = generateMessage(m.payloadSize, fingerprint, service, payload, mac)
+
+	return 0, ephemeral.Id{}, nil
+}
+
 func (m *mockCmix) GetMsgListLen() int {
 	m.RLock()
 	defer m.RUnlock()
diff --git a/e2e/fpGenerator_test.go b/e2e/fpGenerator_test.go
index ebd2d7cc3..5b7391542 100644
--- a/e2e/fpGenerator_test.go
+++ b/e2e/fpGenerator_test.go
@@ -116,6 +116,10 @@ func (m *mockFpgCmix) GetMaxMessageLength() int
 func (m *mockFpgCmix) Send(*id.ID, format.Fingerprint, message.Service, []byte, []byte, cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
 	return 0, ephemeral.Id{}, nil
 }
+func (m *mockFpgCmix) SendWithAssembler(recipient *id.ID, assembler cmix.MessageAssembler,
+	cmixParams cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
+	return 0, ephemeral.Id{}, nil
+}
 func (m *mockFpgCmix) SendMany([]cmix.TargetedCmixMessage, cmix.CMIXParams) (id.Round, []ephemeral.Id, error) {
 	return 0, nil, nil
 }
diff --git a/e2e/rekey/utils_test.go b/e2e/rekey/utils_test.go
index 3e1f77f1d..3e78bf594 100644
--- a/e2e/rekey/utils_test.go
+++ b/e2e/rekey/utils_test.go
@@ -237,6 +237,11 @@ func (m *mockNetManager) Send(recipient *id.ID, fingerprint format.Fingerprint,
 	return id.Round(0), ephemeral.Id{}, nil
 }
 
+func (m *mockNetManager) SendWithAssembler(recipient *id.ID, assembler cmix.MessageAssembler,
+	cmixParams cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
+	return id.Round(0), ephemeral.Id{}, nil
+}
+
 func (m *mockNetManager) SendMany(messages []cmix.TargetedCmixMessage, p cmix.CMIXParams) (
 	id.Round, []ephemeral.Id, error) {
 	return id.Round(0), nil, nil
diff --git a/e2e/utils_test.go b/e2e/utils_test.go
index 72bcfb340..6394c9be5 100644
--- a/e2e/utils_test.go
+++ b/e2e/utils_test.go
@@ -199,6 +199,11 @@ func (m *mockCmix) Send(_ *id.ID, fp format.Fingerprint, srv message.Service,
 
 }
 
+func (m *mockCmix) SendWithAssembler(recipient *id.ID, assembler cmix.MessageAssembler,
+	cmixParams cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
+	panic("implement me")
+}
+
 func (m *mockCmix) SendMany([]cmix.TargetedCmixMessage, cmix.CMIXParams) (id.Round, []ephemeral.Id, error) {
 	return 0, nil, nil
 }
diff --git a/fileTransfer/connect/utils_test.go b/fileTransfer/connect/utils_test.go
index 7d0fb6aeb..ab24fcda0 100644
--- a/fileTransfer/connect/utils_test.go
+++ b/fileTransfer/connect/utils_test.go
@@ -120,6 +120,11 @@ func (m *mockCmix) Send(*id.ID, format.Fingerprint, message.Service, []byte,
 	panic("implement me")
 }
 
+func (m *mockCmix) SendWithAssembler(recipient *id.ID, assembler cmix.MessageAssembler,
+	cmixParams cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
+	panic("implement me")
+}
+
 func (m *mockCmix) SendMany(messages []cmix.TargetedCmixMessage,
 	_ cmix.CMIXParams) (id.Round, []ephemeral.Id, error) {
 	m.handler.Lock()
diff --git a/fileTransfer/e2e/utils_test.go b/fileTransfer/e2e/utils_test.go
index 164d15574..786e4ca4f 100644
--- a/fileTransfer/e2e/utils_test.go
+++ b/fileTransfer/e2e/utils_test.go
@@ -122,6 +122,11 @@ func (m *mockCmix) Send(*id.ID, format.Fingerprint, message.Service, []byte,
 	panic("implement me")
 }
 
+func (m *mockCmix) SendWithAssembler(recipient *id.ID, assembler cmix.MessageAssembler,
+	cmixParams cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
+	panic("implement me")
+}
+
 func (m *mockCmix) SendMany(messages []cmix.TargetedCmixMessage,
 	_ cmix.CMIXParams) (id.Round, []ephemeral.Id, error) {
 	m.handler.Lock()
diff --git a/fileTransfer/groupChat/utils_test.go b/fileTransfer/groupChat/utils_test.go
index 386043508..44a94a656 100644
--- a/fileTransfer/groupChat/utils_test.go
+++ b/fileTransfer/groupChat/utils_test.go
@@ -116,6 +116,11 @@ func (m *mockCmix) Send(*id.ID, format.Fingerprint, message.Service, []byte,
 	panic("implement me")
 }
 
+func (m *mockCmix) SendWithAssembler(recipient *id.ID, assembler cmix.MessageAssembler,
+	cmixParams cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
+	panic("implement me")
+}
+
 func (m *mockCmix) SendMany(messages []cmix.TargetedCmixMessage,
 	_ cmix.CMIXParams) (id.Round, []ephemeral.Id, error) {
 	m.handler.Lock()
diff --git a/fileTransfer/utils_test.go b/fileTransfer/utils_test.go
index df51d90dd..d9ce7a195 100644
--- a/fileTransfer/utils_test.go
+++ b/fileTransfer/utils_test.go
@@ -170,6 +170,11 @@ func (m *mockCmix) Send(*id.ID, format.Fingerprint, message.Service, []byte,
 	panic("implement me")
 }
 
+func (m *mockCmix) SendWithAssembler(recipient *id.ID, assembler cmix.MessageAssembler,
+	cmixParams cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
+	panic("implement me")
+}
+
 func (m *mockCmix) SendMany(messages []cmix.TargetedCmixMessage,
 	_ cmix.CMIXParams) (id.Round, []ephemeral.Id, error) {
 	m.handler.Lock()
diff --git a/groupChat/networkManager_test.go b/groupChat/networkManager_test.go
index a6df5a642..5fa33e8c2 100644
--- a/groupChat/networkManager_test.go
+++ b/groupChat/networkManager_test.go
@@ -71,6 +71,13 @@ func (tnm *testNetworkManager) Follow(report cmix.ClientErrorReport) (stoppable.
 	panic("implement me")
 }
 
+func (tnm *testNetworkManager) SendWithAssembler(recipient *id.ID,
+	assembler cmix.MessageAssembler, cmixParams cmix.CMIXParams) (id.Round,
+	ephemeral.Id, error) {
+	//TODO implement me
+	panic("implement me")
+}
+
 func (tnm *testNetworkManager) Send(recipient *id.ID, fingerprint format.Fingerprint, service message.Service, payload, mac []byte, cmixParams cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
 	//TODO implement me
 	panic("implement me")
diff --git a/xxdk/utilsInterfaces_test.go b/xxdk/utilsInterfaces_test.go
index 29317d133..380ccbdee 100644
--- a/xxdk/utilsInterfaces_test.go
+++ b/xxdk/utilsInterfaces_test.go
@@ -112,6 +112,13 @@ func (t *testNetworkManagerGeneric) Send(*id.ID, format.Fingerprint,
 	ephemeral.Id, error) {
 	return id.Round(0), ephemeral.Id{}, nil
 }
+
+func (t *testNetworkManagerGeneric) SendWithAssembler(recipient *id.ID, assembler cmix.MessageAssembler,
+	cmixParams cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
+
+	return 0, ephemeral.Id{}, nil
+}
+
 func (t *testNetworkManagerGeneric) SendMany(messages []cmix.TargetedCmixMessage,
 	p cmix.CMIXParams) (id.Round, []ephemeral.Id, error) {
 	return 0, []ephemeral.Id{}, nil
-- 
GitLab