diff --git a/src/cli/restore/groups_test.go b/src/cli/restore/groups_test.go index 8a9fd31d1..4e276baf1 100644 --- a/src/cli/restore/groups_test.go +++ b/src/cli/restore/groups_test.go @@ -53,6 +53,7 @@ func (suite *GroupsUnitSuite) TestAddGroupsCommands() { "--" + flags.RunModeFN, flags.RunModeFlagTest, "--" + flags.BackupFN, flagsTD.BackupInput, "--" + flags.SiteFN, flagsTD.SiteInput, + "--" + flags.SiteIDFN, flagsTD.SiteInput, "--" + flags.LibraryFN, flagsTD.LibraryInput, "--" + flags.FileFN, flagsTD.FlgInputs(flagsTD.FileNameInput), "--" + flags.FolderFN, flagsTD.FlgInputs(flagsTD.FolderPathInput), @@ -83,7 +84,8 @@ func (suite *GroupsUnitSuite) TestAddGroupsCommands() { opts := utils.MakeGroupsOpts(cmd) assert.Equal(t, flagsTD.BackupInput, flags.BackupIDFV) - assert.Equal(t, flagsTD.SiteInput, opts.Site) + assert.Equal(t, flagsTD.SiteInput, opts.SiteID[0]) + assert.Equal(t, flagsTD.SiteInput, opts.WebURL[0]) assert.Equal(t, flagsTD.LibraryInput, opts.Library) assert.ElementsMatch(t, flagsTD.FileNameInput, opts.FileName) assert.ElementsMatch(t, flagsTD.FolderPathInput, opts.FolderPath) diff --git a/src/internal/m365/controller_test.go b/src/internal/m365/controller_test.go index aff65e727..4a4b67886 100644 --- a/src/internal/m365/controller_test.go +++ b/src/internal/m365/controller_test.go @@ -18,6 +18,7 @@ import ( "github.com/alcionai/corso/src/internal/data" "github.com/alcionai/corso/src/internal/m365/mock" "github.com/alcionai/corso/src/internal/m365/resource" + "github.com/alcionai/corso/src/internal/m365/service/common" exchMock "github.com/alcionai/corso/src/internal/m365/service/exchange/mock" "github.com/alcionai/corso/src/internal/m365/stub" "github.com/alcionai/corso/src/internal/m365/support" @@ -57,18 +58,18 @@ func (suite *ControllerUnitSuite) TestPopulateOwnerIDAndNamesFrom() { var ( itn = map[string]string{id: name} nti = map[string]string{name: id} - lookup = &ResourceClient{ - enum: resource.Users, - getter: &mock.IDNameGetter{ID: id, Name: name}, + lookup = &common.ResourceClient{ + Enum: resource.Users, + Getter: &mock.IDNameGetter{ID: id, Name: name}, } - noLookup = &ResourceClient{enum: resource.Users, getter: &mock.IDNameGetter{}} + noLookup = &common.ResourceClient{Enum: resource.Users, Getter: &mock.IDNameGetter{}} ) table := []struct { name string protectedResource string ins inMock.Cache - rc *ResourceClient + rc *common.ResourceClient expectID string expectName string expectErr require.ErrorAssertionFunc diff --git a/src/internal/m365/service/common/lookup.go b/src/internal/m365/service/common/lookup.go index afaf62e8c..8c7fc19d2 100644 --- a/src/internal/m365/service/common/lookup.go +++ b/src/internal/m365/service/common/lookup.go @@ -15,22 +15,22 @@ import ( // Resource Lookup Handling // --------------------------------------------------------------------------- -func GetResourceClient(rc resource.Category, ac api.Client) (*resourceClient, error) { +func GetResourceClient(rc resource.Category, ac api.Client) (*ResourceClient, error) { switch rc { case resource.Users: - return &resourceClient{enum: rc, getter: ac.Users()}, nil + return &ResourceClient{Enum: rc, Getter: ac.Users()}, nil case resource.Sites: - return &resourceClient{enum: rc, getter: ac.Sites()}, nil + return &ResourceClient{Enum: rc, Getter: ac.Sites()}, nil case resource.Groups: - return &resourceClient{enum: rc, getter: ac.Groups()}, nil + return &ResourceClient{Enum: rc, Getter: ac.Groups()}, nil default: return nil, clues.New("unrecognized owner resource type").With("resource_enum", rc) } } -type resourceClient struct { - enum resource.Category - getter getIDAndNamer +type ResourceClient struct { + Enum resource.Category + Getter getIDAndNamer } type getIDAndNamer interface { @@ -45,7 +45,7 @@ type getIDAndNamer interface { ) } -var _ idname.GetResourceIDAndNamer = &resourceClient{} +var _ idname.GetResourceIDAndNamer = &ResourceClient{} // GetResourceIDAndNameFrom looks up the resource's canonical id and display name. // If the resource is present in the idNameSwapper, then that interface's id and @@ -53,7 +53,7 @@ var _ idname.GetResourceIDAndNamer = &resourceClient{} // api to fetch the user or site using the resource value. This fallback assumes // that the resource is a well formed ID or display name of appropriate design // (PrincipalName for users, WebURL for sites). -func (r resourceClient) GetResourceIDAndNameFrom( +func (r ResourceClient) GetResourceIDAndNameFrom( ctx context.Context, owner string, ins idname.Cacher, @@ -73,7 +73,7 @@ func (r resourceClient) GetResourceIDAndNameFrom( err error ) - id, name, err = r.getter.GetIDAndName(ctx, owner, api.CallConfig{}) + id, name, err = r.Getter.GetIDAndName(ctx, owner, api.CallConfig{}) if err != nil { if graph.IsErrUserNotFound(err) { return nil, clues.Stack(graph.ErrResourceOwnerNotFound, err)