Skip to content
Snippets Groups Projects
api_test.go 3.48 KiB
Newer Older
  • Learn to ignore specific revisions
  • Manuel Kieweg's avatar
    Manuel Kieweg committed
    package api
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    
    import (
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	"testing"
    
    
    	"code.fbi.h-da.de/danet/gosdn/controller/store"
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	log "github.com/sirupsen/logrus"
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	"github.com/spf13/viper"
    
    	"google.golang.org/grpc/resolver"
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    )
    
    func Test_Init(t *testing.T) {
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	viper.SetConfigFile("./api_test.toml")
    
    	resolver.SetDefaultScheme("passthrough")
    
    
    	if err := Init(context.TODO(), bufnet); err != nil {
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    		t.Error(err)
    	}
    }
    
    func Test_GetIds(t *testing.T) {
    
    	resp, err := GetIds(context.TODO(), bufnet)
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	if err != nil {
    		t.Error(err)
    		return
    	}
    	log.Info(resp)
    }
    
    
    func ensureFilesForTestsAreRemoved() {
    
    	ensureStoreFileForTestsIsRemoved(store.PluginFilenameSuffix)
    
    	ensureStoreFileForTestsIsRemoved(store.NetworkElementFilenameSuffix)
    
    }
    
    func ensureStoreFileForTestsIsRemoved(storeName string) {
    	if err := store.EnsureFilesystemStorePathExists(storeName); err != nil {
    		log.Println(err)
    	}
    
    	wildcartFilename := "*" + storeName
    	path := store.GetCompletePathToFileStore(wildcartFilename)
    
    	files, err := filepath.Glob(path)
    
    	if err != nil {
    		log.Println(err)
    	}
    	for _, f := range files {
    		if err := os.Remove(f); err != nil {
    			log.Println(err)
    		}
    	}
    }
    
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    func Test_AddPnd(t *testing.T) {
    
    	defer ensureFilesForTestsAreRemoved()
    
    
    	resp, err := CreatePnd(context.TODO(), bufnet, "test", "test pnd")
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	if err != nil {
    		t.Error(err)
    		return
    	}
    	log.Info(resp)
    }
    
    func Test_GetPnd(t *testing.T) {
    
    	resp, err := GetPnd(context.TODO(), bufnet, pndID)
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	if err != nil {
    		t.Error(err)
    		return
    	}
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	if got != pndID {
    		t.Errorf("PND ID is %v, expected %v", got, pndID)
    	}
    }
    
    func Test_GetChanges(t *testing.T) {
    
    	resp, err := GetChanges(context.TODO(), bufnet, pndID)
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	if err != nil {
    		t.Error(err)
    		return
    	}
    	log.Info(resp)
    }
    
    
    // func Test_CommitConfirm(t *testing.T) {
    // 	resp, err := Commit(context.TODO(), bufnet, pndID, changeID)
    // 	if err != nil {
    // 		t.Error(err)
    // 		return
    // 	}
    // 	log.Info(resp)
    
    // 	resp, err = Confirm(context.TODO(), bufnet, pndID, changeID)
    // 	if err != nil {
    // 		t.Error(err)
    // 		return
    // 	}
    // 	log.Info(resp)
    // }
    
    // func Test_AddDevice(t *testing.T) {
    // 	opt := &tpb.TransportOption{
    // 		Address:  "test",
    // 		Username: "test",
    // 		Password: "test",
    // 		TransportOption: &tpb.TransportOption_GnmiTransportOption{
    // 			GnmiTransportOption: &tpb.GnmiTransportOption{},
    // 		},
    // 	}
    // 	resp, err := AddNetworkElement(context.TODO(), bufnet, "test", opt, sbiUUID, pndUUID)
    // 	if err != nil {
    // 		t.Error(err)
    // 		return
    // 	}
    // 	log.Info(resp)
    // }
    
    // func Test_GetDevice(t *testing.T) {
    // 	resp, err := GetNetworkElement(context.TODO(), bufnet, pndID, mneID)
    // 	if err != nil {
    // 		t.Error(err)
    // 		return
    // 	}
    // 	got := resp.Mne.Id
    // 	if got != mneID {
    // 		t.Errorf("PND ID is %v, expected %v", got, mneID)
    // 	}
    // }
    
    // func Test_Update(t *testing.T) {
    // 	resp, err := ChangeRequest(context.TODO(), bufnet, mneID, pndID, "system/config/hostname", "intendedHostname", mnepb.ApiOperation_API_OPERATION_UPDATE)
    // 	if err != nil {
    // 		t.Error(err)
    // 		return
    // 	}
    // 	log.Info(resp)
    // }
    
    // func Test_Replace(t *testing.T) {
    // 	resp, err := ChangeRequest(context.TODO(), bufnet, mneID, pndID, "system/config/hostname", "intendedHostname", mnepb.ApiOperation_API_OPERATION_REPLACE)
    // 	if err != nil {
    // 		t.Error(err)
    // 		return
    // 	}
    // 	log.Info(resp)
    // }
    
    // func Test_Delete(t *testing.T) {
    // 	resp, err := ChangeRequest(context.TODO(), bufnet, mneID, pndID, "", "", mnepb.ApiOperation_API_OPERATION_DELETE)
    // 	if err != nil {
    // 		t.Error(err)
    // 		return
    // 	}
    // 	log.Info(resp)
    // }