Skip to content
Snippets Groups Projects
Select Git revision
  • c6e5e17517b7f6bf4542c8b5db987d86552312aa
  • main default protected
  • development
  • integration
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.0
11 results

NDFEnvironment.swift

Blame
  • utils_test.go 7.36 KiB
    ////////////////////////////////////////////////////////////////////////////////
    // Copyright © 2020 xx network SEZC                                           //
    //                                                                            //
    // Use of this source code is governed by a license that can be found in the  //
    // LICENSE file                                                               //
    ////////////////////////////////////////////////////////////////////////////////
    
    package backup
    
    import (
    	"testing"
    	"time"
    
    	"gitlab.com/elixxir/crypto/cyclic"
    	"gitlab.com/elixxir/primitives/fact"
    	"gitlab.com/xx_network/crypto/large"
    	"gitlab.com/xx_network/crypto/signature/rsa"
    	"gitlab.com/xx_network/primitives/id"
    )
    
    // Adheres to the E2e interface.
    type mockE2e struct {
    	partnerIDs          []*id.ID
    	historicalDHPubkey  *cyclic.Int
    	historicalDHPrivkey *cyclic.Int
    }
    
    func newMockE2e(t testing.TB) *mockE2e {
    	grp := cyclic.NewGroup(large.NewInt(173), large.NewInt(0))
    	return &mockE2e{
    		partnerIDs: []*id.ID{
    			id.NewIdFromString("partner1", id.User, t),
    			id.NewIdFromString("partner2", id.User, t),
    			id.NewIdFromString("partner3", id.User, t),
    		},
    		historicalDHPubkey:  grp.NewInt(45),
    		historicalDHPrivkey: grp.NewInt(46),
    	}
    }
    func (m *mockE2e) GetAllPartnerIDs() []*id.ID          { return m.partnerIDs }
    func (m *mockE2e) GetHistoricalDHPubkey() *cyclic.Int  { return m.historicalDHPubkey }
    func (m *mockE2e) GetHistoricalDHPrivkey() *cyclic.Int { return m.historicalDHPrivkey }
    
    // Adheres to the Session interface.
    type mockSession struct {
    	regCode                                     string
    	transmissionID                              *id.ID
    	transmissionSalt                            []byte
    	receptionID                                 *id.ID
    	receptionSalt                               []byte
    	receptionRSA                                *rsa.PrivateKey
    	transmissionRSA                             *rsa.PrivateKey
    	transmissionRegistrationValidationSignature []byte
    	receptionRegistrationValidationSignature    []byte
    	registrationTimestamp                       time.Time
    }
    
    func newMockSession(t testing.TB) *mockSession {
    	receptionRSA, _ := rsa.LoadPrivateKeyFromPem([]byte(privKey))
    	transmissionRSA, _ := rsa.LoadPrivateKeyFromPem([]byte(privKey))
    
    	return &mockSession{
    		regCode:          "regCode",
    		transmissionID:   id.NewIdFromString("transmission", id.User, t),
    		transmissionSalt: []byte("transmissionSalt"),
    		receptionID:      id.NewIdFromString("reception", id.User, t),
    		receptionSalt:    []byte("receptionSalt"),
    		receptionRSA:     receptionRSA,
    		transmissionRSA:  transmissionRSA,
    		transmissionRegistrationValidationSignature: []byte("transmissionSig"),
    		receptionRegistrationValidationSignature:    []byte("receptionSig"),
    		registrationTimestamp:                       time.Date(2012, 12, 21, 22, 8, 41, 0, time.UTC),
    	}
    
    }
    func (m mockSession) GetRegCode() (string, error)         { return m.regCode, nil }
    func (m mockSession) GetTransmissionID() *id.ID           { return m.transmissionID }
    func (m mockSession) GetTransmissionSalt() []byte         { return m.transmissionSalt }
    func (m mockSession) GetReceptionID() *id.ID              { return m.receptionID }
    func (m mockSession) GetReceptionSalt() []byte            { return m.receptionSalt }
    func (m mockSession) GetReceptionRSA() *rsa.PrivateKey    { return m.receptionRSA }
    func (m mockSession) GetTransmissionRSA() *rsa.PrivateKey { return m.transmissionRSA }
    func (m mockSession) GetTransmissionRegistrationValidationSignature() []byte {
    	return m.transmissionRegistrationValidationSignature
    }
    func (m mockSession) GetReceptionRegistrationValidationSignature() []byte {
    	return m.receptionRegistrationValidationSignature
    }
    func (m mockSession) GetRegistrationTimestamp() time.Time { return m.registrationTimestamp }
    
    // Adheres to the UserDiscovery interface.
    type mockUserDiscovery struct {
    	facts fact.FactList
    }
    
    func newMockUserDiscovery() *mockUserDiscovery {
    	return &mockUserDiscovery{facts: fact.FactList{
    		{"myUserName", fact.Username},
    		{"hello@example.com", fact.Email},
    		{"6175555212", fact.Phone},
    		{"name", fact.Nickname},
    	}}
    }
    func (m mockUserDiscovery) GetFacts() fact.FactList { return m.facts }
    
    const privKey = `-----BEGIN PRIVATE KEY-----
    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
    OaRA5ZbdE7g7vxKRV36jT3wvD7W+
    -----END PRIVATE KEY-----`