Skip to content
Snippets Groups Projects
Select Git revision
  • 0f4b067e7a5a911624d38303cf8d0d41ac3d9a38
  • release default
  • 11-22-implement-kv-interface-defined-in-collectiveversionedkvgo
  • master protected
  • XX-4688/DbEncoding
  • hotfix/update
  • @XX-4682/Files
  • hotfix/XX-4655
  • dev protected
  • project/HavenNotifications
  • XX-4602/SilentMessageType
  • jono/npmTest
  • wasmTest2
  • XX-4461/FileUpload
  • XX-4505/blockuser
  • XX-4441
  • Jakub/Emoji-CI-Test
  • testing/websockets
  • fastReg
  • fast-registration
  • NewHostPool
  • v0.3.22
  • v0.3.21
  • v0.3.20
  • v0.3.18
  • v0.3.17
  • v0.3.16
  • v0.3.15
  • v0.3.14
  • v0.3.13
  • v0.3.12
  • v0.3.11
  • v0.3.10
  • v0.3.9
  • v0.3.8
  • v0.3.7
  • v0.3.6
  • v0.3.5
  • v0.3.4
  • 812b395df518ce096d01d5292596ca26f8fe92d9c4487ddfa515e190a51aa1a1
  • 76ba08e2dfa1798412a265404fa271840b52c035869111fce8e8cdb23a036a5a
41 results

localStorage_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))
    	}
    }