diff --git a/datasetUtils/getDatasetDetails_test.go b/datasetUtils/getDatasetDetails_test.go index 69b4c15..5c937a9 100644 --- a/datasetUtils/getDatasetDetails_test.go +++ b/datasetUtils/getDatasetDetails_test.go @@ -86,3 +86,35 @@ func TestGetDatasetDetails_DatasetNotFound(t *testing.T) { t.Errorf("Expected 0 datasets, got %d", len(datasets)) } } + +func TestGetDatasetDetails_DatasetFound(t *testing.T) { + // Create a mock server + server := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) { + // Send response to be tested + rw.Write([]byte(`[{"Pid":"123","SourceFolder":"/path/to/dataset","Size":1024,"OwnerGroup":"group1","NumberOfFiles":10}]`)) + })) + // Close the server when test finishes + defer server.Close() + + // Use the mock server's URL as the API + APIServer := server.URL + accessToken := "testToken" + datasetList := []string{"123"} + ownerGroup := "group1" + + // Create a new HTTP client + client := &http.Client{} + + // Call the function to be tested + datasets, _ := GetDatasetDetails(client, APIServer, accessToken, datasetList, ownerGroup) + + // Check the result + if len(datasets) != 1 { + t.Errorf("Expected 1 dataset, got %d", len(datasets)) + } else { + dataset := datasets[0] + if dataset.Pid != "123" || dataset.SourceFolder != "/path/to/dataset" || dataset.Size != 1024 || dataset.OwnerGroup != "group1" || dataset.NumberOfFiles != 10 { + t.Errorf("Dataset details do not match expected values") + } + } +} \ No newline at end of file