restrict sharepoint test backups to test folders (#2969)

To avoid over-production of data, and thus longer
CI times, any sharepoint integration test that can scope
library usage down to only the "test" folders should do so.

---

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

- [x]  No

#### Type of change

- [x] 🤖 Supportability/Tests

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
This commit is contained in:
Keepers 2023-03-31 17:47:34 -06:00 committed by GitHub
parent b81a527c10
commit 983aaabdb2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 39 additions and 26 deletions

View File

@ -22,6 +22,7 @@ import (
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/repository" "github.com/alcionai/corso/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/selectors/testdata"
"github.com/alcionai/corso/src/pkg/storage" "github.com/alcionai/corso/src/pkg/storage"
) )
@ -161,7 +162,7 @@ func (suite *BackupDeleteSharePointE2ESuite) SetupSuite() {
// some tests require an existing backup // some tests require an existing backup
sel := selectors.NewSharePointBackup(sites) sel := selectors.NewSharePointBackup(sites)
sel.Include(sel.LibraryFolders(selectors.Any())) sel.Include(testdata.SharePointBackupFolderScope(sel))
suite.backupOp, err = suite.repo.NewBackup(ctx, sel.Selector) suite.backupOp, err = suite.repo.NewBackup(ctx, sel.Selector)
require.NoError(t, err, clues.ToCore(err)) require.NoError(t, err, clues.ToCore(err))

View File

@ -18,6 +18,7 @@ import (
"github.com/alcionai/corso/src/pkg/fault" "github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/selectors/testdata"
) )
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -168,7 +169,7 @@ func (suite *ConnectorDataCollectionIntegrationSuite) TestDataCollections_invali
name: "Invalid sharepoint backup site", name: "Invalid sharepoint backup site",
getSelector: func(t *testing.T) selectors.Selector { getSelector: func(t *testing.T) selectors.Selector {
sel := selectors.NewSharePointBackup(owners) sel := selectors.NewSharePointBackup(owners)
sel.Include(sel.LibraryFolders(selectors.Any())) sel.Include(testdata.SharePointBackupFolderScope(sel))
return sel.Selector return sel.Selector
}, },
}, },
@ -194,7 +195,7 @@ func (suite *ConnectorDataCollectionIntegrationSuite) TestDataCollections_invali
name: "missing sharepoint backup site", name: "missing sharepoint backup site",
getSelector: func(t *testing.T) selectors.Selector { getSelector: func(t *testing.T) selectors.Selector {
sel := selectors.NewSharePointBackup(owners) sel := selectors.NewSharePointBackup(owners)
sel.Include(sel.LibraryFolders(selectors.Any())) sel.Include(testdata.SharePointBackupFolderScope(sel))
sel.DiscreteOwner = "" sel.DiscreteOwner = ""
return sel.Selector return sel.Selector
}, },
@ -238,7 +239,7 @@ func (suite *ConnectorDataCollectionIntegrationSuite) TestSharePointDataCollecti
name: "Libraries", name: "Libraries",
getSelector: func() selectors.Selector { getSelector: func() selectors.Selector {
sel := selectors.NewSharePointBackup(selSites) sel := selectors.NewSharePointBackup(selSites)
sel.Include(sel.LibraryFolders(selectors.Any())) sel.Include(testdata.SharePointBackupFolderScope(sel))
return sel.Selector return sel.Selector
}, },
}, },
@ -374,7 +375,7 @@ func (suite *ConnectorCreateSharePointCollectionIntegrationSuite) TestCreateShar
) )
sel := selectors.NewSharePointBackup(siteIDs) sel := selectors.NewSharePointBackup(siteIDs)
sel.Include(sel.Lists(selectors.Any(), selectors.PrefixMatch())) sel.Include(sel.Lists(selectors.Any()))
cols, excludes, err := gc.ProduceBackupCollections( cols, excludes, err := gc.ProduceBackupCollections(
ctx, ctx,

View File

@ -1115,27 +1115,28 @@ func (suite *GraphConnectorIntegrationSuite) TestBackup_CreatesPrefixCollections
path.FilesCategory.String(), path.FilesCategory.String(),
}, },
}, },
// SharePoint lists and pages don't seem to check selectors as expected. {
//{ name: "SharePoint",
// name: "SharePoint", resource: Sites,
// resource: Sites, selectorFunc: func(t *testing.T) selectors.Selector {
// selectorFunc: func(t *testing.T) selectors.Selector { sel := selectors.NewSharePointBackup([]string{tester.M365SiteID(t)})
// sel := selectors.NewSharePointBackup([]string{tester.M365SiteID(t)}) sel.Include(
// sel.Include( sel.LibraryFolders([]string{selectors.NoneTgt}),
// sel.Pages([]string{selectors.NoneTgt}), // not yet in use
// sel.Lists([]string{selectors.NoneTgt}), // sel.Pages([]string{selectors.NoneTgt}),
// sel.Libraries([]string{selectors.NoneTgt}), // sel.Lists([]string{selectors.NoneTgt}),
// ) )
// return sel.Selector return sel.Selector
// }, },
// service: path.SharePointService, service: path.SharePointService,
// categories: []string{ categories: []string{
// path.PagesCategory.String(), path.LibrariesCategory.String(),
// path.ListsCategory.String(), // not yet in use
// path.LibrariesCategory.String(), // path.PagesCategory.String(),
// }, // path.ListsCategory.String(),
//}, },
},
} }
for _, test := range table { for _, test := range table {

View File

@ -40,6 +40,7 @@ import (
"github.com/alcionai/corso/src/pkg/fault" "github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/selectors/testdata"
"github.com/alcionai/corso/src/pkg/store" "github.com/alcionai/corso/src/pkg/store"
) )
@ -1608,7 +1609,7 @@ func (suite *BackupOpIntegrationSuite) TestBackup_Run_sharePoint() {
sel = selectors.NewSharePointBackup([]string{suite.site}) sel = selectors.NewSharePointBackup([]string{suite.site})
) )
sel.Include(sel.LibraryFolders(selectors.Any())) sel.Include(testdata.SharePointBackupFolderScope(sel))
bo, _, kw, _, _, closer := prepNewTestBackupOp(t, ctx, mb, sel.Selector, control.Toggles{}) bo, _, kw, _, _, closer := prepNewTestBackupOp(t, ctx, mb, sel.Selector, control.Toggles{})
defer closer() defer closer()

View File

@ -0,0 +1,9 @@
package testdata
import "github.com/alcionai/corso/src/pkg/selectors"
// SharePointBackupFolderScope is the standard folder scope that should be used
// in integration backups with sharepoint.
func SharePointBackupFolderScope(sel *selectors.SharePointBackup) []selectors.SharePointScope {
return sel.LibraryFolders([]string{"test"}, selectors.PrefixMatch())
}