add a BuildMetadata func to path package (#4192)
just a QoL shorthand to match the Build func. --- #### Does this PR need a docs update or release note? - [x] ⛔ No #### Type of change - [x] 🧹 Tech Debt/Cleanup #### Test Plan - [x] ⚡ Unit test - [=x] 💚 E2E
This commit is contained in:
parent
c74585eafc
commit
bf02f57527
@ -1129,7 +1129,7 @@ func (suite *OneDriveCollectionsUnitSuite) TestDeserializeMetadata() {
|
|||||||
cols := []data.RestoreCollection{}
|
cols := []data.RestoreCollection{}
|
||||||
|
|
||||||
for _, c := range test.cols {
|
for _, c := range test.cols {
|
||||||
pathPrefix, err := path.Builder{}.ToServiceCategoryMetadataPath(
|
pathPrefix, err := path.BuildMetadata(
|
||||||
tenant,
|
tenant,
|
||||||
user,
|
user,
|
||||||
path.OneDriveService,
|
path.OneDriveService,
|
||||||
@ -1194,7 +1194,7 @@ func (suite *OneDriveCollectionsUnitSuite) TestGet() {
|
|||||||
delta2 = "delta2"
|
delta2 = "delta2"
|
||||||
)
|
)
|
||||||
|
|
||||||
metadataPath, err := path.Builder{}.ToServiceCategoryMetadataPath(
|
metadataPath, err := path.BuildMetadata(
|
||||||
tenant,
|
tenant,
|
||||||
user,
|
user,
|
||||||
path.OneDriveService,
|
path.OneDriveService,
|
||||||
|
|||||||
@ -53,7 +53,7 @@ func (h groupBackupHandler) PathPrefix(
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (h groupBackupHandler) MetadataPathPrefix(tenantID string) (path.Path, error) {
|
func (h groupBackupHandler) MetadataPathPrefix(tenantID string) (path.Path, error) {
|
||||||
p, err := path.Builder{}.ToServiceCategoryMetadataPath(
|
p, err := path.BuildMetadata(
|
||||||
tenantID,
|
tenantID,
|
||||||
h.groupID,
|
h.groupID,
|
||||||
h.service,
|
h.service,
|
||||||
|
|||||||
@ -57,7 +57,7 @@ func (h itemBackupHandler) PathPrefix(
|
|||||||
func (h itemBackupHandler) MetadataPathPrefix(
|
func (h itemBackupHandler) MetadataPathPrefix(
|
||||||
tenantID string,
|
tenantID string,
|
||||||
) (path.Path, error) {
|
) (path.Path, error) {
|
||||||
p, err := path.Builder{}.ToServiceCategoryMetadataPath(
|
p, err := path.BuildMetadata(
|
||||||
tenantID,
|
tenantID,
|
||||||
h.userID,
|
h.userID,
|
||||||
path.OneDriveService,
|
path.OneDriveService,
|
||||||
|
|||||||
@ -61,7 +61,7 @@ func (h libraryBackupHandler) PathPrefix(
|
|||||||
func (h libraryBackupHandler) MetadataPathPrefix(
|
func (h libraryBackupHandler) MetadataPathPrefix(
|
||||||
tenantID string,
|
tenantID string,
|
||||||
) (path.Path, error) {
|
) (path.Path, error) {
|
||||||
p, err := path.Builder{}.ToServiceCategoryMetadataPath(
|
p, err := path.BuildMetadata(
|
||||||
tenantID,
|
tenantID,
|
||||||
h.siteID,
|
h.siteID,
|
||||||
h.service,
|
h.service,
|
||||||
|
|||||||
@ -267,7 +267,7 @@ func populateCollections(
|
|||||||
"num_paths_entries", len(currPaths),
|
"num_paths_entries", len(currPaths),
|
||||||
"num_deltas_entries", len(deltaURLs))
|
"num_deltas_entries", len(deltaURLs))
|
||||||
|
|
||||||
pathPrefix, err := path.Builder{}.ToServiceCategoryMetadataPath(
|
pathPrefix, err := path.BuildMetadata(
|
||||||
qp.TenantID,
|
qp.TenantID,
|
||||||
qp.ProtectedResource.ID(),
|
qp.ProtectedResource.ID(),
|
||||||
path.ExchangeService,
|
path.ExchangeService,
|
||||||
|
|||||||
@ -299,7 +299,7 @@ func (suite *DataCollectionsUnitSuite) TestParseMetadataCollections() {
|
|||||||
graph.NewMetadataEntry(d.fileName, map[string]string{"key": d.value}))
|
graph.NewMetadataEntry(d.fileName, map[string]string{"key": d.value}))
|
||||||
}
|
}
|
||||||
|
|
||||||
pathPrefix, err := path.Builder{}.ToServiceCategoryMetadataPath(
|
pathPrefix, err := path.BuildMetadata(
|
||||||
"t", "u",
|
"t", "u",
|
||||||
path.ExchangeService,
|
path.ExchangeService,
|
||||||
path.EmailCategory,
|
path.EmailCategory,
|
||||||
|
|||||||
@ -165,7 +165,7 @@ func (suite *MetadataCollectionUnitSuite) TestMakeMetadataCollection() {
|
|||||||
ctx, flush := tester.NewContext(t)
|
ctx, flush := tester.NewContext(t)
|
||||||
defer flush()
|
defer flush()
|
||||||
|
|
||||||
pathPrefix, err := path.Builder{}.ToServiceCategoryMetadataPath(
|
pathPrefix, err := path.BuildMetadata(
|
||||||
tenant,
|
tenant,
|
||||||
user,
|
user,
|
||||||
test.service,
|
test.service,
|
||||||
|
|||||||
@ -191,7 +191,7 @@ var defaultOneDrivePathPrefixer = func(tID, ro, driveID string) (path.Path, erro
|
|||||||
}
|
}
|
||||||
|
|
||||||
var defaultOneDriveMetadataPathPrefixer = func(tID, ro string) (path.Path, error) {
|
var defaultOneDriveMetadataPathPrefixer = func(tID, ro string) (path.Path, error) {
|
||||||
return path.Builder{}.ToServiceCategoryMetadataPath(
|
return path.BuildMetadata(
|
||||||
tID,
|
tID,
|
||||||
ro,
|
ro,
|
||||||
path.OneDriveService,
|
path.OneDriveService,
|
||||||
@ -212,7 +212,7 @@ var defaultSharePointPathPrefixer = func(tID, ro, driveID string) (path.Path, er
|
|||||||
}
|
}
|
||||||
|
|
||||||
var defaultSharePointMetadataPathPrefixer = func(tID, ro string) (path.Path, error) {
|
var defaultSharePointMetadataPathPrefixer = func(tID, ro string) (path.Path, error) {
|
||||||
return path.Builder{}.ToServiceCategoryMetadataPath(
|
return path.BuildMetadata(
|
||||||
tID,
|
tID,
|
||||||
ro,
|
ro,
|
||||||
path.SharePointService,
|
path.SharePointService,
|
||||||
|
|||||||
@ -218,7 +218,7 @@ func makeMetadataBasePath(
|
|||||||
) path.Path {
|
) path.Path {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
|
|
||||||
p, err := path.Builder{}.ToServiceCategoryMetadataPath(
|
p, err := path.BuildMetadata(
|
||||||
tenant,
|
tenant,
|
||||||
resourceOwner,
|
resourceOwner,
|
||||||
service,
|
service,
|
||||||
@ -1871,7 +1871,7 @@ func (suite *AssistBackupIntegrationSuite) TestBackupTypesForFailureModes() {
|
|||||||
|
|
||||||
cs := test.collFunc()
|
cs := test.collFunc()
|
||||||
|
|
||||||
pathPrefix, err := path.Builder{}.ToServiceCategoryMetadataPath(
|
pathPrefix, err := path.BuildMetadata(
|
||||||
tenantID,
|
tenantID,
|
||||||
userID,
|
userID,
|
||||||
path.OneDriveService,
|
path.OneDriveService,
|
||||||
@ -2189,7 +2189,7 @@ func (suite *AssistBackupIntegrationSuite) TestExtensionsIncrementals() {
|
|||||||
|
|
||||||
cs := test.collFunc()
|
cs := test.collFunc()
|
||||||
|
|
||||||
pathPrefix, err := path.Builder{}.ToServiceCategoryMetadataPath(
|
pathPrefix, err := path.BuildMetadata(
|
||||||
tenantID,
|
tenantID,
|
||||||
userID,
|
userID,
|
||||||
path.OneDriveService,
|
path.OneDriveService,
|
||||||
|
|||||||
@ -141,14 +141,13 @@ func collectMetadata(
|
|||||||
|
|
||||||
for _, fn := range fileNames {
|
for _, fn := range fileNames {
|
||||||
for _, reason := range man.Reasons {
|
for _, reason := range man.Reasons {
|
||||||
p, err := path.Builder{}.
|
p, err := path.BuildMetadata(
|
||||||
Append(fn).
|
|
||||||
ToServiceCategoryMetadataPath(
|
|
||||||
tenantID,
|
tenantID,
|
||||||
reason.ProtectedResource(),
|
reason.ProtectedResource(),
|
||||||
reason.Service(),
|
reason.Service(),
|
||||||
reason.Category(),
|
reason.Category(),
|
||||||
true)
|
true,
|
||||||
|
fn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, clues.
|
return nil, clues.
|
||||||
Wrap(err, "building metadata path").
|
Wrap(err, "building metadata path").
|
||||||
|
|||||||
@ -286,9 +286,7 @@ func checkMetadataFilesExist(
|
|||||||
pathsByRef := map[string][]string{}
|
pathsByRef := map[string][]string{}
|
||||||
|
|
||||||
for _, fName := range files {
|
for _, fName := range files {
|
||||||
p, err := path.Builder{}.
|
p, err := path.BuildMetadata(tenant, resourceOwner, service, category, true, fName)
|
||||||
Append(fName).
|
|
||||||
ToServiceCategoryMetadataPath(tenant, resourceOwner, service, category, true)
|
|
||||||
if !assert.NoError(t, err, "bad metadata path", clues.ToCore(err)) {
|
if !assert.NoError(t, err, "bad metadata path", clues.ToCore(err)) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|||||||
@ -258,7 +258,7 @@ func (pb Builder) ToStreamStorePath(
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (pb Builder) ToServiceCategoryMetadataPath(
|
func (pb Builder) ToServiceCategoryMetadataPath(
|
||||||
tenant, user string,
|
tenant, protectedResource string,
|
||||||
service ServiceType,
|
service ServiceType,
|
||||||
category CategoryType,
|
category CategoryType,
|
||||||
isItem bool,
|
isItem bool,
|
||||||
@ -267,7 +267,7 @@ func (pb Builder) ToServiceCategoryMetadataPath(
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := verifyInputValues(tenant, user); err != nil {
|
if err := verifyInputValues(tenant, protectedResource); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -288,17 +288,18 @@ func (pb Builder) ToServiceCategoryMetadataPath(
|
|||||||
metadataService = GroupsMetadataService
|
metadataService = GroupsMetadataService
|
||||||
}
|
}
|
||||||
|
|
||||||
return &dataLayerResourcePath{
|
rp := dataLayerResourcePath{
|
||||||
Builder: *pb.withPrefix(
|
Builder: *pb.withPrefix(
|
||||||
tenant,
|
tenant,
|
||||||
metadataService.String(),
|
metadataService.String(),
|
||||||
user,
|
protectedResource,
|
||||||
category.String(),
|
category.String()),
|
||||||
),
|
|
||||||
service: metadataService,
|
service: metadataService,
|
||||||
category: category,
|
category: category,
|
||||||
hasItem: isItem,
|
hasItem: isItem,
|
||||||
}, nil
|
}
|
||||||
|
|
||||||
|
return &rp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (pb Builder) ToDataLayerPath(
|
func (pb Builder) ToDataLayerPath(
|
||||||
|
|||||||
@ -146,6 +146,22 @@ func Build(
|
|||||||
hasItem)
|
hasItem)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// BuildMetadata is a shorthand for Builder{}.Append(...).ToServiceCategoryMetadataPath(...)
|
||||||
|
func BuildMetadata(
|
||||||
|
tenant, resourceOwner string,
|
||||||
|
service ServiceType,
|
||||||
|
category CategoryType,
|
||||||
|
hasItem bool,
|
||||||
|
elements ...string,
|
||||||
|
) (Path, error) {
|
||||||
|
return Builder{}.
|
||||||
|
Append(elements...).
|
||||||
|
ToServiceCategoryMetadataPath(
|
||||||
|
tenant, resourceOwner,
|
||||||
|
service, category,
|
||||||
|
hasItem)
|
||||||
|
}
|
||||||
|
|
||||||
func BuildPrefix(
|
func BuildPrefix(
|
||||||
tenant, resourceOwner string,
|
tenant, resourceOwner string,
|
||||||
s ServiceType,
|
s ServiceType,
|
||||||
|
|||||||
@ -344,14 +344,13 @@ func (suite *DataLayerResourcePath) TestToServiceCategoryMetadataPath() {
|
|||||||
test.category.String(),
|
test.category.String(),
|
||||||
}, "_"), func() {
|
}, "_"), func() {
|
||||||
t := suite.T()
|
t := suite.T()
|
||||||
pb := path.Builder{}.Append(test.postfix...)
|
p, err := path.BuildMetadata(
|
||||||
|
|
||||||
p, err := pb.ToServiceCategoryMetadataPath(
|
|
||||||
tenant,
|
tenant,
|
||||||
user,
|
user,
|
||||||
test.service,
|
test.service,
|
||||||
test.category,
|
test.category,
|
||||||
false)
|
false,
|
||||||
|
test.postfix...)
|
||||||
test.check(t, err, clues.ToCore(err))
|
test.check(t, err, clues.ToCore(err))
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user