Skip to content
Snippets Groups Projects
Select Git revision
  • d0286c6757297aa784f4ebf653db94d58a2cd7df
  • 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

registration_test.go

Blame
  • registration_test.go 3.44 KiB
    package reception
    
    import (
    	"gitlab.com/elixxir/client/storage/versioned"
    	"gitlab.com/elixxir/ekv"
    	"gitlab.com/xx_network/primitives/netTime"
    	"math/rand"
    	// "strings"
    	"testing"
    	"time"
    )
    
    // func TestNewRegistration_Failed(t *testing.T) {
    // 	// Generate an identity for use
    // 	rng := rand.New(rand.NewSource(42))
    // 	timestamp := time.Date(2009, 11, 17, 20, 34, 58, 651387237, time.UTC)
    // 	idu, _ := generateFakeIdentity(rng, 15, timestamp)
    // 	id := idu.Identity
    // 	kv := versioned.NewKV(make(ekv.Memstore))
    
    // 	id.End = time.Time{}
    // 	id.ExtraChecks = 0
    
    // 	_, err := newRegistration(id, kv)
    // 	if err == nil || !strings.Contains(err.Error(), "Cannot create a registration for an identity which has expired") {
    // 		t.Error("Registration creation succeeded with expired identity.")
    // 	}
    // }
    
    func TestNewRegistration_Ephemeral(t *testing.T) {
    	// Generate an identity for use
    	rng := rand.New(rand.NewSource(42))
    	timestamp := time.Date(2009, 11, 17, 20, 34, 58, 651387237, time.UTC)
    	idu, _ := generateFakeIdentity(rng, 15, timestamp)
    	id := idu.Identity
    	kv := versioned.NewKV(make(ekv.Memstore))
    
    	id.End = netTime.Now().Add(1 * time.Hour)
    	id.ExtraChecks = 2
    	id.Ephemeral = true
    
    	reg, err := newRegistration(id, kv)
    	if err != nil {
    		t.Fatalf("Registration creation failed when it should have "+
    			"succeeded: %+v", err)
    	}
    
    	if _, err = reg.kv.Get(identityStorageKey, 0); err == nil {
    		t.Error("Ephemeral identity stored the identity when it should not have.")
    	}
    }
    
    func TestNewRegistration_Persistent(t *testing.T) {
    	// Generate an identity for use
    	rng := rand.New(rand.NewSource(42))
    	timestamp := time.Date(2009, 11, 17, 20, 34, 58, 651387237, time.UTC)
    	idu, _ := generateFakeIdentity(rng, 15, timestamp)
    	id := idu.Identity
    	kv := versioned.NewKV(make(ekv.Memstore))
    
    	id.End = netTime.Now().Add(1 * time.Hour)
    	id.ExtraChecks = 2
    	id.Ephemeral = false
    
    	reg, err := newRegistration(id, kv)
    	if err != nil {
    		t.Fatalf("Registration creation failed when it should have "+
    			"succeeded: %+v", err)
    	}
    
    	if _, err = reg.kv.Get(identityStorageKey, 0); err != nil {
    		t.Errorf("Persistent identity did not store the identity when "+
    			"it should: %+v.", err)
    	}
    }
    
    func TestLoadRegistration(t *testing.T) {
    	// Generate an identity for use
    	rng := rand.New(rand.NewSource(42))
    	timestamp := time.Date(2009, 11, 17, 20, 34, 58, 651387237, time.UTC)
    	idu, _ := generateFakeIdentity(rng, 15, timestamp)
    	id := idu.Identity
    	kv := versioned.NewKV(make(ekv.Memstore))
    
    	id.End = netTime.Now().Add(1 * time.Hour)
    	id.ExtraChecks = 2
    	id.Ephemeral = false
    
    	_, err := newRegistration(id, kv)
    	if err != nil {
    		t.Fatalf("Registration creation failed when it should have "+
    			"succeeded: %+v", err)
    	}
    
    	_, err = loadRegistration(idu.EphId, idu.Source, idu.StartValid, kv)
    	if err != nil {
    		t.Fatalf("Registration loading failed: %+v", err)
    	}
    
    }
    
    // TODO: finish
    func Test_registration_Delete(t *testing.T) {
    	// Generate an identity for use
    	rng := rand.New(rand.NewSource(42))
    	timestamp := time.Date(2009, 11, 17, 20, 34, 58, 651387237, time.UTC)
    	idu, _ := generateFakeIdentity(rng, 15, timestamp)
    	id := idu.Identity
    	kv := versioned.NewKV(make(ekv.Memstore))
    
    	id.End = netTime.Now().Add(1 * time.Hour)
    	id.ExtraChecks = 2
    	id.Ephemeral = false
    
    	r, err := newRegistration(id, kv)
    	if err != nil {
    		t.Fatalf("Registration creation failed when it should have "+
    			"succeeded: %+v", err)
    	}
    
    	err = r.Delete()
    	if err != nil {
    		t.Errorf("delete() returned an error: %+v", err)
    	}
    }