Skip to content
Snippets Groups Projects
Select Git revision
  • 40b80af39d764de7ada42d8d77f4492b8a957c57
  • release default protected
  • 11-22-implement-kv-interface-defined-in-collectiveversionedkvgo
  • hotfix/TestHostPool_UpdateNdf_AddFilter
  • XX-4719/announcementChannels
  • xx-4717/logLevel
  • jonah/noob-channel
  • master protected
  • XX-4707/tagDiskJson
  • xx-4698/notification-retry
  • hotfix/notifylockup
  • syncNodes
  • hotfix/localCB
  • XX-4677/NewChanManagerMobile
  • XX-4689/DmSync
  • duplicatePrefix
  • XX-4601/HavenInvites
  • finalizedUICallbacks
  • XX-4673/AdminKeySync
  • debugNotifID
  • anne/test
  • v4.7.5
  • v4.7.4
  • v4.7.3
  • v4.7.2
  • v4.7.1
  • v4.6.3
  • v4.6.1
  • v4.5.0
  • v4.4.4
  • v4.3.11
  • v4.3.8
  • v4.3.7
  • v4.3.6
  • v4.3.5
  • v4.2.0
  • v4.3.0
  • v4.3.4
  • v4.3.3
  • v4.3.2
  • v4.3.1
41 results

cypher_test.go

Blame
  • tracker_test.go 3.16 KiB
    ////////////////////////////////////////////////////////////////////////////////
    // Copyright © 2022 xx foundation                                             //
    //                                                                            //
    // Use of this source code is governed by a license that can be found in the  //
    // LICENSE file.                                                              //
    ////////////////////////////////////////////////////////////////////////////////
    
    package identity
    
    import (
    	"sync"
    	"testing"
    	"time"
    
    	jww "github.com/spf13/jwalterweatherman"
    	"gitlab.com/elixxir/client/cmix/address"
    	"gitlab.com/elixxir/client/cmix/identity/receptionID"
    	"gitlab.com/elixxir/client/storage"
    	"gitlab.com/xx_network/primitives/id"
    	"gitlab.com/xx_network/primitives/netTime"
    )
    
    var initSize uint8 = 8
    
    // func TestManager_processIdentities_expired(t *testing.T) {
    // 	// Initialization
    // 	addrSpace := address.NewAddressSpace(initSize)
    // 	addrSpace.UpdateAddressSpace(18)
    // 	session := storage.InitTestingSession(t)
    // 	m := &manager{
    // 		tracked:        make([]TrackedID, 0),
    // 		session:        session,
    // 		newIdentity:    make(chan TrackedID, trackedIDChanSize),
    // 		deleteIdentity: make(chan *id.ID, deleteIDChanSize),
    // 		addrSpace:      addrSpace,
    // 		ephemeral:      receptionID.NewOrLoadStore(session.GetKV()),
    // 		mux:            &sync.Mutex{},
    // 	}
    
    // 	// Add some expired test IDs
    // 	for i := uint64(0); i < 10; i++ {
    // 		testId := id.NewIdFromUInt(i, id.User, t)
    // 		validUntil := netTime.Now()
    // 		m.tracked = append(m.tracked, TrackedID{
    // 			NextGeneration: netTime.Now().Add(-time.Second),
    // 			LastGeneration: time.Time{},
    // 			Source:         testId,
    // 			ValidUntil:     validUntil,
    // 			Persistent:     false,
    // 			Creation:       netTime.Now(),
    // 		})
    // 	}
    
    // 	expected := m.tracked[0].ValidUntil
    // 	nextEvent := m.processIdentities(addrSpace.GetAddressSpace())
    // 	if len(m.tracked) != 0 {
    // 		t.Errorf("Failed to remove expired identities, %d remain", len(m.tracked))
    // 	}
    // 	if nextEvent != expected {
    // 		t.Errorf("Invalid nextEvent, expected %v got %v", expected, nextEvent)
    // 	}
    // }
    
    func TestManager_processIdentities(t *testing.T) {
    	jww.SetStdoutThreshold(jww.LevelDebug)
    	// Initialization
    	addrSpace := address.NewAddressSpace(initSize)
    	addrSpace.UpdateAddressSpace(18)
    	session := storage.InitTestingSession(t)
    	m := &manager{
    		tracked:        make([]*TrackedID, 0),
    		session:        session,
    		newIdentity:    make(chan TrackedID, trackedIDChanSize),
    		deleteIdentity: make(chan *id.ID, deleteIDChanSize),
    		addrSpace:      addrSpace,
    		ephemeral:      receptionID.NewOrLoadStore(session.GetKV()),
    		mux:            &sync.Mutex{},
    	}
    
    	// Add some expired test IDs
    	testId := id.NewIdFromUInt(0, id.User, t)
    	validUntil := netTime.Now().Add(time.Minute)
    	m.tracked = append(m.tracked, &TrackedID{
    		NextGeneration: netTime.Now(),
    		LastGeneration: time.Time{},
    		Source:         testId,
    		ValidUntil:     validUntil,
    		Persistent:     true,
    		Creation:       netTime.Now(),
    	})
    
    	_ = m.processIdentities(addrSpace.GetAddressSpace())
    	if len(m.tracked) != 1 {
    		t.Errorf("Unexpectedly removed identity, %d remain", len(m.tracked))
    	}
    }