Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -306,16 +306,7 @@ class DatasetResource {
datasetUserAccessDao.insert(datasetUserAccess)

DashboardDataset(
new Dataset(
createdDataset.getDid,
createdDataset.getOwnerUid,
createdDataset.getName,
createdDataset.getRepositoryName,
createdDataset.getIsPublic,
createdDataset.getIsDownloadable,
createdDataset.getDescription,
createdDataset.getCreationTime
),
createdDataset.into(classOf[Dataset]),
user.getEmail,
PrivilegeEnum.WRITE,
isOwner = true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ package edu.uci.ics.texera.service.resource
import edu.uci.ics.amber.core.storage.util.LakeFSStorageClient
import edu.uci.ics.texera.auth.SessionUser
import edu.uci.ics.texera.dao.MockTexeraDB
import edu.uci.ics.texera.dao.jooq.generated.enums.UserRoleEnum
import edu.uci.ics.texera.dao.jooq.generated.enums.{PrivilegeEnum, UserRoleEnum}
import edu.uci.ics.texera.dao.jooq.generated.tables.daos.{DatasetDao, UserDao}
import edu.uci.ics.texera.dao.jooq.generated.tables.pojos.{Dataset, User}
import edu.uci.ics.texera.service.MockLakeFS
Expand Down Expand Up @@ -132,6 +132,29 @@ class DatasetResourceSpec
createdDataset.dataset.getIsDownloadable shouldBe true
}

it should "return DashboardDataset with correct owner email, WRITE privilege, and isOwner=true" in {
val createDatasetRequest = DatasetResource.CreateDatasetRequest(
datasetName = "dashboard-dataset-test",
datasetDescription = "test for DashboardDataset properties",
isDatasetPublic = true,
isDatasetDownloadable = false
)

val dashboardDataset = datasetResource.createDataset(createDatasetRequest, sessionUser)

// Verify the DashboardDataset properties
dashboardDataset.ownerEmail shouldEqual testUser.getEmail
dashboardDataset.accessPrivilege shouldEqual PrivilegeEnum.WRITE
dashboardDataset.isOwner shouldBe true
dashboardDataset.size shouldEqual 0

// Verify the underlying dataset properties
dashboardDataset.dataset.getName shouldEqual "dashboard-dataset-test"
dashboardDataset.dataset.getDescription shouldEqual "test for DashboardDataset properties"
dashboardDataset.dataset.getIsPublic shouldBe true
dashboardDataset.dataset.getIsDownloadable shouldBe false
}

it should "delete dataset successfully if user owns it" in {
// insert a dataset directly into DB
val dataset = new Dataset
Expand Down
Loading