Skip to content
Snippets Groups Projects
sbiFilesystemStore_test.go 3.38 KiB
Newer Older
  • Learn to ignore specific revisions
  • package nucleus
    
    import (
    	"testing"
    
    	spb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound"
    	"code.fbi.h-da.de/danet/gosdn/controller/interfaces/southbound"
    	"code.fbi.h-da.de/danet/gosdn/controller/store"
    	"github.com/google/uuid"
    )
    
    
    func ensureStoreFilesForTestsAreRemoved() {
    	ensureStoreFileForTestsIsRemoved(store.SbiFilenameSuffix)
    	ensureStoreFileForTestsIsRemoved(store.DeviceFilenameSuffix)
    
    }
    
    func TestAddSbi(t *testing.T) {
    
    	defer ensureStoreFilesForTestsAreRemoved()
    
    
    	pndID, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
    	sbiStore := NewSbiStore(pndID)
    
    	sbiID, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
    
    	sbi, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID)
    
    	err := sbiStore.Add(sbi)
    	if err != nil {
    		t.Error(err)
    	}
    }
    
    func TestGetAllSbis(t *testing.T) {
    
    	defer ensureStoreFilesForTestsAreRemoved()
    
    
    	pndID, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
    	sbiStore := NewSbiStore(pndID)
    
    	sbiID1, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
    	sbiID2, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaab")
    
    	sbi1, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID1)
    	sbi2, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID2)
    
    	inputSbis := [2]southbound.SouthboundInterface{sbi1, sbi2}
    
    	for _, sbi := range inputSbis {
    		err := sbiStore.Add(sbi)
    		if err != nil {
    			t.Error(err)
    		}
    	}
    
    	returnSbis, err := sbiStore.GetAll()
    	if err != nil {
    		t.Error(err)
    	}
    
    	length := len(returnSbis)
    	if length != 2 {
    		t.Errorf("GetAll() length of array = %v, want %v", length, 2)
    	}
    
    	for i, sbi := range returnSbis {
    		if sbi.ID != inputSbis[i].ID().String() {
    			t.Errorf("GetAll() = %v, want %v", sbi.ID, inputSbis[i].ID().String())
    		}
    	}
    }
    
    func TestGetSbi(t *testing.T) {
    
    	defer ensureStoreFilesForTestsAreRemoved()
    
    
    	pndID, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
    
    	sbiStore := NewSbiStore(pndID)
    
    	sbiID1, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
    	sbiID2, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaab")
    
    	sbi1, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID1)
    	sbi2, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID2)
    
    	inputSbis := [2]southbound.SouthboundInterface{sbi1, sbi2}
    
    	for _, sbi := range inputSbis {
    		err := sbiStore.Add(sbi)
    		if err != nil {
    			t.Error(err)
    		}
    	}
    
    	returnSbi, err := sbiStore.Get(store.Query{ID: sbiID2, Name: ""})
    	if err != nil {
    		t.Error(err)
    	}
    
    	if returnSbi.ID != sbi2.ID().String() {
    		t.Errorf("Get() = %v, want %v", returnSbi.ID, sbi2.ID().String())
    	}
    }
    
    func TestDeleteAllSbis(t *testing.T) {
    
    	defer ensureStoreFilesForTestsAreRemoved()
    
    
    	pndID, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
    	sbiStore := NewSbiStore(pndID)
    
    	sbiID1, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
    	sbiID2, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaab")
    
    	sbi1, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID1)
    	sbi2, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID2)
    
    	inputSbis := [2]southbound.SouthboundInterface{sbi1, sbi2}
    
    	for _, sbi := range inputSbis {
    		err := sbiStore.Add(sbi)
    		if err != nil {
    			t.Error(err)
    		}
    	}
    
    	err := sbiStore.Delete(sbi1)
    	if err != nil {
    		t.Error(err)
    	}
    
    	returnSbis, err := sbiStore.GetAll()
    	if err != nil {
    		t.Error(err)
    	}
    
    	length := len(returnSbis)
    	if length != 1 {
    		t.Errorf("GetAll() length of array = %v, want %v", length, 2)
    	}
    
    	if returnSbis[0].ID != inputSbis[1].ID().String() {
    		t.Errorf("GetAll() = %v, want %v", returnSbis[0].ID, inputSbis[1].ID().String())
    	}
    }