diff --git a/channels/send_test.go b/channels/send_test.go index 8abc1fad748c8767a5e4c708c8da75c00ba1cf43..453fe9332545503229c8e71625f397a722c39e7d 100644 --- a/channels/send_test.go +++ b/channels/send_test.go @@ -2,18 +2,68 @@ package channels import ( "crypto/ed25519" + "testing" "time" + "gitlab.com/xx_network/crypto/csprng" + "gitlab.com/xx_network/crypto/multicastRSA" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" + "gitlab.com/elixxir/client/broadcast" "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/cmix/rounds" + "gitlab.com/elixxir/client/storage/versioned" cryptoBroadcast "gitlab.com/elixxir/crypto/broadcast" cryptoChannel "gitlab.com/elixxir/crypto/channel" + "gitlab.com/elixxir/crypto/fastRNG" + "gitlab.com/elixxir/ekv" ) +type mockBroadcastChannel struct{} + +func (m *mockBroadcastChannel) MaxPayloadSize() int { + return 12345 +} + +func (m *mockBroadcastChannel) MaxAsymmetricPayloadSize() int { + return 123 +} + +func (m *mockBroadcastChannel) Get() cryptoBroadcast.Channel { + return cryptoBroadcast.Channel{} +} + +func (m *mockBroadcastChannel) Broadcast(payload []byte, cMixParams cmix.CMIXParams) ( + id.Round, ephemeral.Id, error) { + return id.Round(123), ephemeral.Id{}, nil +} + +func (m *mockBroadcastChannel) BroadcastWithAssembler(assembler broadcast.Assembler, cMixParams cmix.CMIXParams) ( + id.Round, ephemeral.Id, error) { + return id.Round(123), ephemeral.Id{}, nil +} + +func (m *mockBroadcastChannel) BroadcastAsymmetric(pk multicastRSA.PrivateKey, payload []byte, + cMixParams cmix.CMIXParams) (id.Round, ephemeral.Id, error) { + return id.Round(123), ephemeral.Id{}, nil +} + +func (m *mockBroadcastChannel) BroadcastAsymmetricWithAssembler( + pk multicastRSA.PrivateKey, assembler broadcast.Assembler, + cMixParams cmix.CMIXParams) (id.Round, ephemeral.Id, error) { + + return id.Round(123), ephemeral.Id{}, nil +} + +func (m *mockBroadcastChannel) RegisterListener(listenerCb broadcast.ListenerFunc, method broadcast.Method) error { + return nil +} + +func (m *mockBroadcastChannel) Stop() { +} + type mockBroadcastClient struct{} func (m *mockBroadcastClient) GetMaxMessageLength() int { @@ -96,7 +146,7 @@ func (m *mockEventModel) ReceiveReaction(channelID *id.ID, messageID cryptoChann } -/*func TestSendGeneric(t *testing.T) { +func TestSendGeneric(t *testing.T) { kv := versioned.NewKV(ekv.MakeMemstore()) client := new(mockBroadcastClient) @@ -105,8 +155,8 @@ func (m *mockEventModel) ReceiveReaction(channelID *id.ID, messageID cryptoChann nameService.validChMsg = true model := new(mockEventModel) - manager := NewManager(kv, client, rngGen, nameService, model) - //m := manager.(*manager) + mm := NewManager(kv, client, rngGen, nameService, model) + m := mm.(*manager) channelID := new(id.ID) messageType := MessageType(Text) @@ -114,13 +164,11 @@ func (m *mockEventModel) ReceiveReaction(channelID *id.ID, messageID cryptoChann validUntil := time.Hour params := new(cmix.CMIXParams) - // mutate manager's channels map - // channels map[*id.ID]*joinedChannel - // add channelID and a joinedChannel - - //m.channels[channelID] = new(joinedChannel) + m.channels[channelID] = &joinedChannel{ + broadcast: &mockBroadcastChannel{}, + } - messageId, roundId, ephemeralId, err := manager.SendGeneric( + messageId, roundId, ephemeralId, err := mm.SendGeneric( channelID, messageType, msg, @@ -132,4 +180,4 @@ func (m *mockEventModel) ReceiveReaction(channelID *id.ID, messageID cryptoChann } t.Logf("messageId %v, roundId %v, ephemeralId %v", messageId, roundId, ephemeralId) -}*/ +}