Create helper function to go from service type to metadata service type (#5091)

Will also be used more in later PRs

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
This commit is contained in:
ashmrtn 2024-01-23 11:32:25 -08:00 committed by GitHub
parent d501a30761
commit dd9bba6caa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 51 additions and 24 deletions

View File

@ -232,18 +232,7 @@ func (pb Builder) ToStreamStorePath(
return nil, clues.New("missing path beyond prefix") return nil, clues.New("missing path beyond prefix")
} }
metadataService := UnknownService metadataService := service.ToMetadata()
switch service {
case ExchangeService:
metadataService = ExchangeMetadataService
case OneDriveService:
metadataService = OneDriveMetadataService
case SharePointService:
metadataService = SharePointMetadataService
case GroupsService:
metadataService = GroupsMetadataService
}
return &dataLayerResourcePath{ return &dataLayerResourcePath{
Builder: *pb.withPrefix( Builder: *pb.withPrefix(
@ -275,18 +264,7 @@ func (pb Builder) ToServiceCategoryMetadataPath(
return nil, clues.New("missing path beyond prefix") return nil, clues.New("missing path beyond prefix")
} }
metadataService := UnknownService metadataService := service.ToMetadata()
switch service {
case ExchangeService:
metadataService = ExchangeMetadataService
case OneDriveService:
metadataService = OneDriveMetadataService
case SharePointService:
metadataService = SharePointMetadataService
case GroupsService:
metadataService = GroupsMetadataService
}
rp := dataLayerResourcePath{ rp := dataLayerResourcePath{
Builder: *pb.withPrefix( Builder: *pb.withPrefix(

View File

@ -187,3 +187,37 @@ func (suite *ServiceCategoryUnitSuite) TestToCategoryType() {
}) })
} }
} }
func (suite *ServiceCategoryUnitSuite) TestToMetadata() {
table := []struct {
input ServiceType
expect ServiceType
}{
{
input: ExchangeService,
expect: ExchangeMetadataService,
},
{
input: OneDriveService,
expect: OneDriveMetadataService,
},
{
input: SharePointService,
expect: SharePointMetadataService,
},
{
input: GroupsService,
expect: GroupsMetadataService,
},
{
input: UnknownService,
expect: UnknownService,
},
}
for _, test := range table {
suite.Run(test.input.String(), func() {
assert.Equal(suite.T(), test.expect, test.input.ToMetadata())
})
}
}

View File

@ -74,3 +74,18 @@ func (svc ServiceType) HumanString() string {
return "Unknown Service" return "Unknown Service"
} }
func (svc ServiceType) ToMetadata() ServiceType {
switch svc {
case ExchangeService:
return ExchangeMetadataService
case OneDriveService:
return OneDriveMetadataService
case SharePointService:
return SharePointMetadataService
case GroupsService:
return GroupsMetadataService
}
return UnknownService
}