minor refactoring before changes (#3638)

renaming structs so that they don't follow the interface naming conventions, updating and expanding the test suite setup for api.

---

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

- [x]  No

#### Type of change

- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

* #3562

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
This commit is contained in:
Keepers 2023-06-27 13:26:17 -06:00 committed by GitHub
parent 4f9793a824
commit f68fe90793
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 119 additions and 104 deletions

View File

@ -2328,7 +2328,7 @@ func (suite *OneDriveCollectionsUnitSuite) TestGet() {
},
}
itemPagers := map[string]api.DriveItemEnumerator{}
itemPagers := map[string]api.DriveItemDeltaEnumerator{}
for driveID := range test.items {
itemPagers[driveID] = &mockItemPager{
@ -2704,7 +2704,7 @@ func (suite *OneDriveCollectionsUnitSuite) TestAddURLCacheToDriveCollections() {
ctx, flush := tester.NewContext(t)
defer flush()
itemPagers := map[string]api.DriveItemEnumerator{}
itemPagers := map[string]api.DriveItemDeltaEnumerator{}
itemPagers[driveID] = &mockItemPager{}
mbh := mock.DefaultOneDriveBH()

View File

@ -50,7 +50,7 @@ type BackupHandler interface {
// ServiceCat returns the service and category used by this implementation.
ServiceCat() (path.ServiceType, path.CategoryType)
NewDrivePager(resourceOwner string, fields []string) api.DrivePager
NewItemPager(driveID, link string, fields []string) api.DriveItemEnumerator
NewItemPager(driveID, link string, fields []string) api.DriveItemDeltaEnumerator
// FormatDisplayPath creates a human-readable string to represent the
// provided path.
FormatDisplayPath(driveName string, parentPath *path.Builder) string

View File

@ -45,7 +45,7 @@ type itemCollector func(
// provided `collector` method
func collectItems(
ctx context.Context,
pager api.DriveItemEnumerator,
pager api.DriveItemDeltaEnumerator,
driveID, driveName string,
collector itemCollector,
oldPaths map[string]string,

View File

@ -70,8 +70,8 @@ func (h itemBackupHandler) NewDrivePager(
func (h itemBackupHandler) NewItemPager(
driveID, link string,
fields []string,
) api.DriveItemEnumerator {
return h.ac.NewItemPager(driveID, link, fields)
) api.DriveItemDeltaEnumerator {
return h.ac.NewDriveItemDeltaPager(driveID, link, fields)
}
func (h itemBackupHandler) AugmentItemInfo(

View File

@ -99,7 +99,7 @@ func (suite *ItemIntegrationSuite) TestItemReader_oneDrive() {
ip := suite.service.ac.
Drives().
NewItemPager(suite.userDriveID, "", api.DriveItemSelectDefault())
NewDriveItemDeltaPager(suite.userDriveID, "", api.DriveItemSelectDefault())
_, _, _, err := collectItems(
ctx,

View File

@ -36,7 +36,7 @@ type BackupHandler struct {
DrivePagerV api.DrivePager
// driveID -> itemPager
ItemPagerV map[string]api.DriveItemEnumerator
ItemPagerV map[string]api.DriveItemDeltaEnumerator
LocationIDFn locationIDer
@ -101,7 +101,7 @@ func (h BackupHandler) NewDrivePager(string, []string) api.DrivePager {
return h.DrivePagerV
}
func (h BackupHandler) NewItemPager(driveID string, _ string, _ []string) api.DriveItemEnumerator {
func (h BackupHandler) NewItemPager(driveID string, _ string, _ []string) api.DriveItemDeltaEnumerator {
return h.ItemPagerV[driveID]
}

View File

@ -47,7 +47,7 @@ type urlCache struct {
refreshMu sync.Mutex
deltaQueryCount int
itemPager api.DriveItemEnumerator
itemPager api.DriveItemDeltaEnumerator
errs *fault.Bus
}
@ -56,7 +56,7 @@ type urlCache struct {
func newURLCache(
driveID, prevDelta string,
refreshInterval time.Duration,
itemPager api.DriveItemEnumerator,
itemPager api.DriveItemDeltaEnumerator,
errs *fault.Bus,
) (*urlCache, error) {
err := validateCacheParams(
@ -83,7 +83,7 @@ func newURLCache(
func validateCacheParams(
driveID string,
refreshInterval time.Duration,
itemPager api.DriveItemEnumerator,
itemPager api.DriveItemDeltaEnumerator,
) error {
if len(driveID) == 0 {
return clues.New("drive id is empty")

View File

@ -69,7 +69,7 @@ func (suite *URLCacheIntegrationSuite) TestURLCacheBasic() {
ac = suite.ac.Drives()
driveID = suite.driveID
newFolderName = testdata.DefaultRestoreConfig("folder").Location
driveItemPager = suite.ac.Drives().NewItemPager(driveID, "", api.DriveItemSelectDefault())
driveItemPager = suite.ac.Drives().NewDriveItemDeltaPager(driveID, "", api.DriveItemSelectDefault())
)
ctx, flush := tester.NewContext(t)
@ -108,7 +108,7 @@ func (suite *URLCacheIntegrationSuite) TestURLCacheBasic() {
// Get the previous delta to feed into url cache
prevDelta, _, _, err := collectItems(
ctx,
suite.ac.Drives().NewItemPager(driveID, "", api.DriveItemSelectDefault()),
suite.ac.Drives().NewDriveItemDeltaPager(driveID, "", api.DriveItemSelectDefault()),
suite.driveID,
"drive-name",
collectorFunc,
@ -506,7 +506,7 @@ func (suite *URLCacheUnitSuite) TestNewURLCache() {
name string
driveID string
refreshInt time.Duration
itemPager api.DriveItemEnumerator
itemPager api.DriveItemDeltaEnumerator
errors *fault.Bus
expectedErr require.ErrorAssertionFunc
}{

View File

@ -68,8 +68,8 @@ func (h libraryBackupHandler) NewDrivePager(
func (h libraryBackupHandler) NewItemPager(
driveID, link string,
fields []string,
) api.DriveItemEnumerator {
return h.ac.NewItemPager(driveID, link, fields)
) api.DriveItemDeltaEnumerator {
return h.ac.NewDriveItemDeltaPager(driveID, link, fields)
}
func (h libraryBackupHandler) AugmentItemInfo(

View File

@ -105,7 +105,7 @@ func (c Contacts) NewContactsPager(
options := &users.ItemContactFoldersItemContactsRequestBuilderGetRequestConfiguration{
Headers: newPreferHeaders(preferPageSize(maxNonDeltaPageSize)),
QueryParameters: &users.ItemContactFoldersItemContactsRequestBuilderGetQueryParameters{
Top: ptr.To[int32](maxNonDeltaPageSize),
Top: ptr.To(maxNonDeltaPageSize),
},
}
@ -181,7 +181,7 @@ func (c Contacts) NewContactIDsPager(
config := &users.ItemContactFoldersItemContactsRequestBuilderGetRequestConfiguration{
QueryParameters: &users.ItemContactFoldersItemContactsRequestBuilderGetQueryParameters{
Select: idAnd(parentFolderID),
Top: ptr.To[int32](maxNonDeltaPageSize),
Top: ptr.To(maxNonDeltaPageSize),
},
Headers: newPreferHeaders(preferPageSize(maxNonDeltaPageSize), preferImmutableIDs(immutableIDs)),
}

View File

@ -15,7 +15,7 @@ import (
type ContactsPagerIntgSuite struct {
tester.Suite
cts clientTesterSetup
its intgTesterSetup
}
func TestContactsPagerIntgSuite(t *testing.T) {
@ -27,23 +27,23 @@ func TestContactsPagerIntgSuite(t *testing.T) {
}
func (suite *ContactsPagerIntgSuite) SetupSuite() {
suite.cts = newClientTesterSetup(suite.T())
suite.its = newIntegrationTesterSetup(suite.T())
}
func (suite *ContactsPagerIntgSuite) TestGetItemsInContainerByCollisionKey() {
t := suite.T()
ac := suite.cts.ac.Contacts()
ac := suite.its.ac.Contacts()
ctx, flush := tester.NewContext(t)
defer flush()
container, err := ac.GetContainerByID(ctx, suite.cts.userID, "contacts")
container, err := ac.GetContainerByID(ctx, suite.its.userID, "contacts")
require.NoError(t, err, clues.ToCore(err))
conts, err := ac.Stable.
Client().
Users().
ByUserId(suite.cts.userID).
ByUserId(suite.its.userID).
ContactFolders().
ByContactFolderId(ptr.Val(container.GetId())).
Contacts().
@ -57,7 +57,7 @@ func (suite *ContactsPagerIntgSuite) TestGetItemsInContainerByCollisionKey() {
expect = append(expect, api.ContactCollisionKey(c))
}
results, err := ac.GetItemsInContainerByCollisionKey(ctx, suite.cts.userID, "contacts")
results, err := suite.its.ac.Contacts().GetItemsInContainerByCollisionKey(ctx, suite.its.userID, "contacts")
require.NoError(t, err, clues.ToCore(err))
require.Less(t, 0, len(results), "requires at least one result")

View File

@ -8,6 +8,7 @@ import (
"github.com/microsoftgraph/msgraph-sdk-go/drives"
"github.com/microsoftgraph/msgraph-sdk-go/models"
"github.com/alcionai/corso/src/internal/common/ptr"
"github.com/alcionai/corso/src/internal/m365/graph"
"github.com/alcionai/corso/src/pkg/control"
)
@ -305,3 +306,13 @@ func (c Drives) DeleteItemPermission(
return nil
}
// DriveItemCollisionKeyy constructs a key from the item name.
// collision keys are used to identify duplicate item conflicts for handling advanced restoration config.
func DriveItemCollisionKey(item models.DriveItemable) string {
if item == nil {
return ""
}
return ptr.Val(item.GetName())
}

View File

@ -18,29 +18,29 @@ import (
)
// ---------------------------------------------------------------------------
// item pager
// delta item pager
// ---------------------------------------------------------------------------
type DriveItemEnumerator interface {
type DriveItemDeltaEnumerator interface {
GetPage(context.Context) (DeltaPageLinker, error)
SetNext(nextLink string)
Reset()
ValuesIn(DeltaPageLinker) ([]models.DriveItemable, error)
}
var _ DriveItemEnumerator = &DriveItemPager{}
var _ DriveItemDeltaEnumerator = &DriveItemDeltaPageCtrl{}
type DriveItemPager struct {
type DriveItemDeltaPageCtrl struct {
gs graph.Servicer
driveID string
builder *drives.ItemItemsItemDeltaRequestBuilder
options *drives.ItemItemsItemDeltaRequestBuilderGetRequestConfiguration
}
func (c Drives) NewItemPager(
func (c Drives) NewDriveItemDeltaPager(
driveID, link string,
selectFields []string,
) *DriveItemPager {
) *DriveItemDeltaPageCtrl {
preferHeaderItems := []string{
"deltashowremovedasdeleted",
"deltatraversepermissiongaps",
@ -56,7 +56,7 @@ func (c Drives) NewItemPager(
},
}
res := &DriveItemPager{
res := &DriveItemDeltaPageCtrl{
gs: c.Stable,
driveID: driveID,
options: requestConfig,
@ -64,7 +64,9 @@ func (c Drives) NewItemPager(
Client().
Drives().
ByDriveId(driveID).
Items().ByDriveItemId(onedrive.RootID).Delta(),
Items().
ByDriveItemId(onedrive.RootID).
Delta(),
}
if len(link) > 0 {
@ -74,7 +76,7 @@ func (c Drives) NewItemPager(
return res
}
func (p *DriveItemPager) GetPage(ctx context.Context) (DeltaPageLinker, error) {
func (p *DriveItemDeltaPageCtrl) GetPage(ctx context.Context) (DeltaPageLinker, error) {
var (
resp DeltaPageLinker
err error
@ -88,11 +90,11 @@ func (p *DriveItemPager) GetPage(ctx context.Context) (DeltaPageLinker, error) {
return resp, nil
}
func (p *DriveItemPager) SetNext(link string) {
func (p *DriveItemDeltaPageCtrl) SetNext(link string) {
p.builder = drives.NewItemItemsItemDeltaRequestBuilder(link, p.gs.Adapter())
}
func (p *DriveItemPager) Reset() {
func (p *DriveItemDeltaPageCtrl) Reset() {
p.builder = p.gs.Client().
Drives().
ByDriveId(p.driveID).
@ -101,12 +103,12 @@ func (p *DriveItemPager) Reset() {
Delta()
}
func (p *DriveItemPager) ValuesIn(l DeltaPageLinker) ([]models.DriveItemable, error) {
func (p *DriveItemDeltaPageCtrl) ValuesIn(l DeltaPageLinker) ([]models.DriveItemable, error) {
return getValues[models.DriveItemable](l)
}
// ---------------------------------------------------------------------------
// user pager
// user's drives pager
// ---------------------------------------------------------------------------
var _ DrivePager = &userDrivePager{}
@ -196,7 +198,7 @@ func (p *userDrivePager) ValuesIn(l PageLinker) ([]models.Driveable, error) {
}
// ---------------------------------------------------------------------------
// site pager
// site's libraries pager
// ---------------------------------------------------------------------------
var _ DrivePager = &siteDrivePager{}

View File

@ -12,44 +12,17 @@ import (
"github.com/alcionai/corso/src/internal/common/ptr"
"github.com/alcionai/corso/src/internal/m365/graph"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/control/testdata"
"github.com/alcionai/corso/src/pkg/services/m365/api"
)
type DriveAPISuite struct {
tester.Suite
creds account.M365Config
ac api.Client
driveID string
rootFolderID string
its intgTesterSetup
}
func (suite *DriveAPISuite) SetupSuite() {
t := suite.T()
ctx, flush := tester.NewContext(t)
defer flush()
userID := tester.M365UserID(t)
a := tester.NewM365Account(t)
creds, err := a.M365Config()
require.NoError(t, err, clues.ToCore(err))
suite.creds = creds
suite.ac, err = api.NewClient(creds)
require.NoError(t, err, clues.ToCore(err))
drive, err := suite.ac.Users().GetDefaultDrive(ctx, userID)
require.NoError(t, err, clues.ToCore(err))
suite.driveID = ptr.Val(drive.GetId())
rootFolder, err := suite.ac.Drives().GetRootFolder(ctx, suite.driveID)
require.NoError(t, err, clues.ToCore(err))
suite.rootFolderID = ptr.Val(rootFolder.GetId())
suite.its = newIntegrationTesterSetup(suite.T())
}
func TestDriveAPIs(t *testing.T) {
@ -67,7 +40,7 @@ func (suite *DriveAPISuite) TestDrives_CreatePagerAndGetPage() {
defer flush()
siteID := tester.M365SiteID(t)
pager := suite.ac.Drives().NewSiteDrivePager(siteID, []string{"name"})
pager := suite.its.ac.Drives().NewSiteDrivePager(siteID, []string{"name"})
a, err := pager.GetPage(ctx)
assert.NoError(t, err, clues.ToCore(err))
@ -95,21 +68,22 @@ func (suite *DriveAPISuite) TestDrives_PostItemInContainer() {
defer flush()
rc := testdata.DefaultRestoreConfig("drive_api_post_item")
acd := suite.its.ac.Drives()
// generate a parent for the test data
parent, err := suite.ac.Drives().PostItemInContainer(
parent, err := acd.PostItemInContainer(
ctx,
suite.driveID,
suite.rootFolderID,
suite.its.userDriveID,
suite.its.userDriveRootFolderID,
newItem(rc.Location, true),
control.Replace)
require.NoError(t, err, clues.ToCore(err))
// generate a folder to use for collision testing
folder := newItem("collision", true)
origFolder, err := suite.ac.Drives().PostItemInContainer(
origFolder, err := acd.PostItemInContainer(
ctx,
suite.driveID,
suite.its.userDriveID,
ptr.Val(parent.GetId()),
folder,
control.Copy)
@ -117,9 +91,9 @@ func (suite *DriveAPISuite) TestDrives_PostItemInContainer() {
// generate an item to use for collision testing
file := newItem("collision.txt", false)
origFile, err := suite.ac.Drives().PostItemInContainer(
origFile, err := acd.PostItemInContainer(
ctx,
suite.driveID,
suite.its.userDriveID,
ptr.Val(parent.GetId()),
file,
control.Copy)
@ -232,9 +206,9 @@ func (suite *DriveAPISuite) TestDrives_PostItemInContainer() {
for _, test := range table {
suite.Run(test.name, func() {
t := suite.T()
i, err := suite.ac.Drives().PostItemInContainer(
i, err := acd.PostItemInContainer(
ctx,
suite.driveID,
suite.its.userDriveID,
ptr.Val(parent.GetId()),
test.postItem,
test.onCollision)

View File

@ -113,7 +113,7 @@ func (c Events) NewEventsPager(
options := &users.ItemCalendarsItemEventsRequestBuilderGetRequestConfiguration{
Headers: newPreferHeaders(preferPageSize(maxNonDeltaPageSize)),
QueryParameters: &users.ItemCalendarsItemEventsRequestBuilderGetQueryParameters{
Top: ptr.To[int32](maxNonDeltaPageSize),
Top: ptr.To(maxNonDeltaPageSize),
},
}
@ -189,7 +189,7 @@ func (c Events) NewEventIDsPager(
options := &users.ItemCalendarsItemEventsRequestBuilderGetRequestConfiguration{
Headers: newPreferHeaders(preferPageSize(maxNonDeltaPageSize), preferImmutableIDs(immutableIDs)),
QueryParameters: &users.ItemCalendarsItemEventsRequestBuilderGetQueryParameters{
Top: ptr.To[int32](maxNonDeltaPageSize),
Top: ptr.To(maxNonDeltaPageSize),
},
}
@ -246,7 +246,7 @@ func (c Events) NewEventDeltaIDsPager(
options := &users.ItemCalendarsItemEventsDeltaRequestBuilderGetRequestConfiguration{
Headers: newPreferHeaders(preferPageSize(maxDeltaPageSize), preferImmutableIDs(immutableIDs)),
QueryParameters: &users.ItemCalendarsItemEventsDeltaRequestBuilderGetQueryParameters{
Top: ptr.To[int32](maxDeltaPageSize),
Top: ptr.To(maxDeltaPageSize),
},
}

View File

@ -15,7 +15,7 @@ import (
type EventsPagerIntgSuite struct {
tester.Suite
cts clientTesterSetup
its intgTesterSetup
}
func TestEventsPagerIntgSuite(t *testing.T) {
@ -27,23 +27,23 @@ func TestEventsPagerIntgSuite(t *testing.T) {
}
func (suite *EventsPagerIntgSuite) SetupSuite() {
suite.cts = newClientTesterSetup(suite.T())
suite.its = newIntegrationTesterSetup(suite.T())
}
func (suite *EventsPagerIntgSuite) TestGetItemsInContainerByCollisionKey() {
t := suite.T()
ac := suite.cts.ac.Events()
ac := suite.its.ac.Events()
ctx, flush := tester.NewContext(t)
defer flush()
container, err := ac.GetContainerByID(ctx, suite.cts.userID, "calendar")
container, err := ac.GetContainerByID(ctx, suite.its.userID, "calendar")
require.NoError(t, err, clues.ToCore(err))
evts, err := ac.Stable.
Client().
Users().
ByUserId(suite.cts.userID).
ByUserId(suite.its.userID).
Calendars().
ByCalendarId(ptr.Val(container.GetId())).
Events().
@ -57,7 +57,7 @@ func (suite *EventsPagerIntgSuite) TestGetItemsInContainerByCollisionKey() {
expect = append(expect, api.EventCollisionKey(e))
}
results, err := ac.GetItemsInContainerByCollisionKey(ctx, suite.cts.userID, "calendar")
results, err := suite.its.ac.Events().GetItemsInContainerByCollisionKey(ctx, suite.its.userID, "calendar")
require.NoError(t, err, clues.ToCore(err))
require.Less(t, 0, len(results), "requires at least one result")

View File

@ -6,17 +6,23 @@ import (
"github.com/alcionai/clues"
"github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/internal/common/ptr"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/pkg/services/m365/api"
)
type clientTesterSetup struct {
type intgTesterSetup struct {
ac api.Client
userID string
userDriveID string
userDriveRootFolderID string
siteID string
siteDriveID string
siteDriveRootFolderID string
}
func newClientTesterSetup(t *testing.T) clientTesterSetup {
cts := clientTesterSetup{}
func newIntegrationTesterSetup(t *testing.T) intgTesterSetup {
its := intgTesterSetup{}
ctx, flush := tester.NewContext(t)
defer flush()
@ -25,10 +31,32 @@ func newClientTesterSetup(t *testing.T) clientTesterSetup {
creds, err := a.M365Config()
require.NoError(t, err, clues.ToCore(err))
cts.ac, err = api.NewClient(creds)
its.ac, err = api.NewClient(creds)
require.NoError(t, err, clues.ToCore(err))
cts.userID = tester.GetM365UserID(ctx)
its.userID = tester.M365UserID(t)
return cts
userDrive, err := its.ac.Users().GetDefaultDrive(ctx, its.userID)
require.NoError(t, err, clues.ToCore(err))
its.userDriveID = ptr.Val(userDrive.GetId())
userDriveRootFolder, err := its.ac.Drives().GetRootFolder(ctx, its.userDriveID)
require.NoError(t, err, clues.ToCore(err))
its.userDriveRootFolderID = ptr.Val(userDriveRootFolder.GetId())
its.siteID = tester.M365SiteID(t)
siteDrive, err := its.ac.Sites().GetDefaultDrive(ctx, its.siteID)
require.NoError(t, err, clues.ToCore(err))
its.siteDriveID = ptr.Val(siteDrive.GetId())
siteDriveRootFolder, err := its.ac.Drives().GetRootFolder(ctx, its.siteDriveID)
require.NoError(t, err, clues.ToCore(err))
its.siteDriveRootFolderID = ptr.Val(siteDriveRootFolder.GetId())
return its
}

View File

@ -136,7 +136,7 @@ func (c Mail) NewMailPager(
options := &users.ItemMailFoldersItemMessagesRequestBuilderGetRequestConfiguration{
Headers: newPreferHeaders(preferPageSize(maxNonDeltaPageSize)),
QueryParameters: &users.ItemMailFoldersItemMessagesRequestBuilderGetQueryParameters{
Top: ptr.To[int32](maxNonDeltaPageSize),
Top: ptr.To(maxNonDeltaPageSize),
},
}
@ -190,7 +190,7 @@ func (c Mail) NewMailIDsPager(
config := &users.ItemMailFoldersItemMessagesRequestBuilderGetRequestConfiguration{
QueryParameters: &users.ItemMailFoldersItemMessagesRequestBuilderGetQueryParameters{
Select: idAnd("isRead"),
Top: ptr.To[int32](maxNonDeltaPageSize),
Top: ptr.To(maxNonDeltaPageSize),
},
Headers: newPreferHeaders(preferPageSize(maxNonDeltaPageSize), preferImmutableIDs(immutableIDs)),
}
@ -287,7 +287,7 @@ func (c Mail) NewMailDeltaIDsPager(
config := &users.ItemMailFoldersItemMessagesDeltaRequestBuilderGetRequestConfiguration{
QueryParameters: &users.ItemMailFoldersItemMessagesDeltaRequestBuilderGetQueryParameters{
Select: idAnd("isRead"),
Top: ptr.To[int32](maxDeltaPageSize),
Top: ptr.To(maxDeltaPageSize),
},
Headers: newPreferHeaders(preferPageSize(maxDeltaPageSize), preferImmutableIDs(immutableIDs)),
}

View File

@ -15,7 +15,7 @@ import (
type MailPagerIntgSuite struct {
tester.Suite
cts clientTesterSetup
its intgTesterSetup
}
func TestMailPagerIntgSuite(t *testing.T) {
@ -27,23 +27,23 @@ func TestMailPagerIntgSuite(t *testing.T) {
}
func (suite *MailPagerIntgSuite) SetupSuite() {
suite.cts = newClientTesterSetup(suite.T())
suite.its = newIntegrationTesterSetup(suite.T())
}
func (suite *MailPagerIntgSuite) TestGetItemsInContainerByCollisionKey() {
t := suite.T()
ac := suite.cts.ac.Mail()
ac := suite.its.ac.Mail()
ctx, flush := tester.NewContext(t)
defer flush()
container, err := ac.GetContainerByID(ctx, suite.cts.userID, "inbox")
container, err := ac.GetContainerByID(ctx, suite.its.userID, "inbox")
require.NoError(t, err, clues.ToCore(err))
msgs, err := ac.Stable.
Client().
Users().
ByUserId(suite.cts.userID).
ByUserId(suite.its.userID).
MailFolders().
ByMailFolderId(ptr.Val(container.GetId())).
Messages().
@ -57,7 +57,7 @@ func (suite *MailPagerIntgSuite) TestGetItemsInContainerByCollisionKey() {
expect = append(expect, api.MailCollisionKey(m))
}
results, err := ac.GetItemsInContainerByCollisionKey(ctx, suite.cts.userID, "inbox")
results, err := suite.its.ac.Mail().GetItemsInContainerByCollisionKey(ctx, suite.its.userID, "inbox")
require.NoError(t, err, clues.ToCore(err))
require.Less(t, 0, len(results), "requires at least one result")