693 Commits

Author SHA1 Message Date
Keepers
5e0014307c
remove ctx embedding for counter (#4497)
#### 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
2023-10-31 16:15:05 +00:00
Keepers
d6047d3f63
add real world test examples (#4558)
#### Type of change

- [x] 🤖 Supportability/Tests

#### Issue(s)

* #4546

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-10-27 15:10:02 +00:00
Keepers
8b612c43d9
make channel message html human readable (#4556)
Adds two-step processing to the html previews for channel messages and replies.  First, all inline attachments are replaced with the string `[attachment:name]`.
Second, remaining html is stripped out, leaving only plaintext.

This transformation is applied to both the exported content and the preview content in details.

---

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

- [x]  No

#### Type of change

- [x] 🌻 Feature

#### Issue(s)

* #4546

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-10-26 23:05:35 +00:00
Keepers
1470776f3c
expose additional channel metadata (#4539)
builds out more details for channel messages and replies

---

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

- [x]  No

#### Type of change

- [ ] 🌻 Feature

#### Issue(s)

* #3988

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-10-26 18:03:44 +00:00
ashmrtn
a4d039069d
Refactor site exclusion logic (#4548)
Pull the logic for excluding personal and search
sites into a separate function instead of overloading
the verify function for a site

---

#### 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

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

#### Issue(s)

* #4540

merge after:
* #4547

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-10-26 16:01:24 +00:00
ashmrtn
8102523dc6
Unexport functions and fields in api package (#4547)
Unexport a bunch of stuff that isn't used outside the
package. Also use the same package for tests

Mostly renaming with some minor dead code cleanup

---

#### 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

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

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-10-26 15:25:34 +00:00
ashmrtn
e1f0794185
Remove site name validation check (#4541)
It's possible to have a site without a display name and this is causing unrelated backups to fail.

Need to do some testing for upstream consumers prior to merging

---

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

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

#### Type of change

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

#### Issue(s)

* #4540

#### Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-10-26 02:16:01 +00:00
Keepers
2bc3c89885
fix api/mock circular ref (#4544)
No logic changes.  Just code movement/renaming.

---

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

- [x]  No

#### Type of change

- [x] 🧹 Tech Debt/Cleanup
2023-10-26 01:27:49 +00:00
jules
73202dad63
[Bugfix] Fixing getting owner email (#4538)
Owner data might have email and ID, or only one of them, or none. Fixing the code to handle this and adding a unit test. 

---

#### 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

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-10-25 22:38:35 +00:00
Keepers
7f8becb8f8
extract container transforms from the api layer (#4478)
removes the cache container transformation funcs
from the exchange api container enumeration params. This ensures a cleaner separation of ownership where the api is only responsible for enumerating containers, and the caller is responsible for transforming them.

---

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

- [x]  No

#### Type of change

- [ ] 🧹 Tech Debt/Cleanup


#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-10-24 23:44:08 +00:00
jules
4d0be25020
Adding email fallback to Groups getByID api (#4534)
As the title suggests. 

---

#### 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

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [x]  Unit test
- [x] 💚 E2E
2023-10-24 21:00:55 +00:00
Keepers
9e40d88265
expose sitesInGroup to sdk consumers (#4532)
exposes the m365 api call to get all sites in a group to the sdk service interface.

---

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

- [x]  No

#### Type of change

- [x] 🌻 Feature

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-10-24 00:09:48 +00:00
Keepers
5cc68e27dc
use count bus in kopia backups (#4482)
uses the count bus in the kopia backup package.
This currently duplicates counts that we're getting
from the kopia stats.  A later pr will remove the old
stats entirely in favor of the counter.

---

#### 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
2023-10-23 23:29:56 +00:00
Abin Simon
08e8b18afc
Fix backup of Groups without an associated Team (#4520)
Previously we were trying to fetch channels of Groups without channels.

---

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

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

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* closes https://github.com/alcionai/corso/issues/4519

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [ ]  Unit test
- [x] 💚 E2E
2023-10-17 17:34:11 +00:00
Abin Simon
5d90483bfa
Enforce site filter for Groups restore (#4496)
This PR reworks the groups restore to and makes the site to restore to mandatory. This also updates some missing filtering capabilities in groups export.

---

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

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

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* closes https://github.com/alcionai/corso/issues/4462

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-10-16 12:05:55 +00:00
Keepers
03c7667679
iterate pager results with channels (#4414)
corrects the prior PRs full-scale batching of driveItems by adding a channel to the api layer's enumerateItems and driveEnumerateItems funcs.  To avoid changes
in most parts of code, also adds batch wrappers
that hide these changes from existing pager usage.

DriveItem collection processing now ranges over
a channel of pager results, allowing it to process pages in a stream rather than batching all items.

---

#### 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
2023-10-14 03:22:12 +00:00
Keepers
1452e8c0c9
add extra catches for resource locked (#4499)
Adds two layers of extra catches for resoruceLocked errors.  First, in pkg/errs, adds error check funcs to ensure the source comparators are checked even if
they somehow got skipped in the lower layer packages.

Second, adds checks for resource locked throughout sites, users, and groups in the api layer.

---

#### 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
2023-10-13 23:27:43 +00:00
Keepers
7419faab23
refactor drive restore & export to use sanitree (#4425)
refactors the common drive sanity checks to use the sanitree data container.  Also expands the sanitree in two ways:
1. adds leaves (individual items) to nodes for granular data comparison
2. adds multi-type support for comparing nodes of different types.

---

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

- [x]  No

#### Type of change

- [x] 🤖 Supportability/Tests

#### Issue(s)

* #3988

#### Test Plan

- [x] 💪 Manual
- [x] 💚 E2E
2023-10-13 22:55:35 +00:00
ashmrtn
800170787f
Log the categories participating in an operation (#4490)
To assist in debugging via logs, add the set of
categories an operation is acting on to the
clues set in the context

---

#### 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

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

#### Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-10-13 21:17:16 +00:00
Keepers
d2e35a9ea8
filter out system messages (#4481)
adds a filter that removes system messages from
channel message backups.

Also extends the preview size from 16 to 128 characters.

---

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

- [x]  No

#### Type of change

- [x] 🧹 Tech Debt/Cleanup

#### Issue(s)

* #3988

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-10-13 02:48:08 +00:00
Keepers
5b8b371976
fix message size report (#4493)
#### Does this PR need a docs update or release note?

- [x]  Yes, it's included

#### Type of change

- [x] 🐛 Bugfix

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-10-13 02:19:59 +00:00
Keepers
7b6484663b
ensure api layer provides non-empty modtime (#4486)
enforce the following:
* no mod times returned from the api layer are zero-valued
* dttm.OrNow() provides a zero value time check
* ptr.OrNow() calls dttmOrNow on non-nil time values.
* itemPagers for getAddedAndRemoved call ptr.OrNow()
* callers to getAddedAndRemoved provide a transformer func which produces the mod time from the paged item, instead of assuming all items use the same interface for mod time.

---

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

- [x]  Yes, it's included

#### Type of change

- [x] 🐛 Bugfix


#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-10-12 23:42:35 +00:00
Keepers
a9e0b4f95f
fix failing item replace test (#4488)
#### Does this PR need a docs update or release note?

- [x]  No

#### Type of change

- [x] 🐛 Bugfix
- [x] 🤖 Supportability/Tests

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-10-12 22:29:33 +00:00
ashmrtn
c07b14c859
Consolidate Reasoner implementations (#4469)
Remove other implementation of Reasoner in the
selector package since it's a duplicate of the
one that's in the identity package

---

#### 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

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

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [x] 💚 E2E
2023-10-11 22:04:16 +00:00
ashmrtn
84b9de96ef
Move Reasoner implementation to identity package (#4468)
Move the Reasoner implementation from the kopia package to the identity
package. This will help avoid import cycles if we want to start
persisting Reason information in the backup model.

---

#### 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

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

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [x] 💚 E2E
2023-10-11 21:24:08 +00:00
Abin Simon
040257f8be
Add stats to export operations (#4461)
Have a way to gather stats about the exported data.

Users can now call `ExportOperation.GetStats()` at the end of the run to get the stats for the operations. The data will be in the format `map[path.CategoryType]data.KindStats` whre `KindStats` is:

```go
type KindStats struct {
	BytesRead     int64
	ResourceCount int64
}
```
---

#### 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

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* https://github.com/alcionai/corso/issues/4311

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-10-11 05:54:17 +00:00
Keepers
107b6883d5
modify onenote skip, clues add collection scope (#4472)
some additional logging context for collection scope.

---

#### 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
2023-10-11 02:28:17 +00:00
Abhishek Pandey
3656e04676
Allow delta enum callers to specify $select properties (#4460)
<!-- PR description-->

This fixes a perf regression in #4456 

Context: 
URL cache only needs a subset of drive item properties while doing delta queries. See https://github.com/alcionai/corso/pull/4074 for details.  Changes in #4456 were applying the default item property set for all delta enumerator consumers including URL cache. This PR fixes the memory regression. 

---

#### 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

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-10-10 20:07:42 +00:00
Keepers
7196b5d278
catch and sentinel resource locked error case (#4465)
handle cases where a resource is found, but is not accessible due to being locked out by an administrator or msoft process.

---

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

- [ ]  Yes, it's included

#### Type of change

- [x] 🐛 Bugfix

#### Issue(s)

* #4464

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-10-10 19:24:48 +00:00
Abhishek Pandey
eb0299d316
Push item download requests through drive rate limiter (#4393)
<!-- PR description-->

**Changes:** 
1. Count item download requests under drive rate limit quota . Currently this is under exchange limiter.
2. Use 1 rate limit token instead of 2 for drive calls by default. 
3. Use 2 tokens instead of 1 for initial delta query ( which has no token). 

Sharing internal docs separately to go along with the review. 

---

#### 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

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-10-10 16:45:37 +00:00
Keepers
aa66675b83
remove local bus struct (#4435)
removes the local bus from fault in favor of a single Bus that operates both within a local and global instance, and can be passed downstream independent of context.  Also includes some code separation in the fault package for readability.

---

#### 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
2023-10-10 01:25:14 +00:00
Keepers
ff6c1eaf8d
adds purely informational alerts to the fault bus (#4434)
Adds a new type of entry to the fault bus: Alerts. These values are for non-erroneous messages that we want 1/ clearly displayed to the user at the end of an operation and 2/ persisted with the backup for later review.

---

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

- [x]  No

#### Type of change

- [x] 🌻 Feature

#### Issue(s)

* #4264

#### Test Plan

- [x]  Unit test
2023-10-09 21:57:36 +00:00
Keepers
5215e907b0
Revert "Revert "move drive pagers to pager pattern (#4316)" (#4412)" (#4456)
This reverts commit 3d78183651289e2051b8690850069c9b41df6bd0.

Replacement for https://github.com/alcionai/corso/pull/4316 after revert in https://github.com/alcionai/corso/pull/4412.

---

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

- [x]  No

#### Type of change

- [x] 🌻 Feature
2023-10-09 19:46:18 +00:00
Keepers
c88b5764a9
hand resource down to drive controller (#4436)
hands the backup resource into the drive collection for the handler to use to record as the siteID

---

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

- [x]  No

#### Type of change

- [x] 🐛 Bugfix

#### Issue(s)

* #3988

#### Test Plan

- [x] 💪 Manual
- [x]  Unit test
- [x] 💚 E2E
2023-10-05 16:38:17 +00:00
neha_gupta
fd3a4eb6ff
update Kopia password (#4406)
<!-- PR description-->
---
This PR is raised as part of splitting https://github.com/alcionai/corso/pull/4397 into smaller parts
It cover connecting with Kopia and updating repos password

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

- [ ]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature


#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* https://github.com/alcionai/corso/issues/4061

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [ ]  Unit test
2023-10-04 07:07:57 +00:00
ashmrtn
13c5b9fe5a
Use separate config dirs for kopia in file system mode (#4423)
Fixes possible issues of opening the
incorrect repo if tests are run in
parallel.

Integration test for this in
[model_store_test.go](3d78183651/src/internal/kopia/model_store_test.go (L897))

---

#### 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

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

#### Issue(s)

* #4422

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-10-03 15:34:11 +00:00
Keepers
19111fe136
export path string to service type (#4428)
Also removes the unused teams service consts

---

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

- [x]  No

#### Type of change

- [x] 🌻 Feature

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-10-02 23:52:45 +00:00
Keepers
3d78183651
Revert "move drive pagers to pager pattern (#4316)" (#4412)
This reverts commit c3f94fd7f76f377e4728c715abbb8c7846e9fb25.

The specified commit is working fine for CI and development, but contains performance
degredation (solved in a follow-up pr) that we want to avoid for the next release.  This
rever is temporary, and the changes will be re-instated after release.

---

#### 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
2023-10-02 16:19:39 +00:00
Abin Simon
363cbca86f
Backup/Restore/Export multiples sites in Groups (#4344)
I've updated the Team used in the CI to include private and shared channels. Sanity tests should ideally do the e2e tests for multi site backups.

<!-- PR description-->

---

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

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

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [x] 💚 E2E
2023-10-02 13:17:15 +00:00
Keepers
b15f8a6fcd
add generic details command (#4352)
centralizes details command processing in the cli

---

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

- [x]  No

#### Type of change

- [x] 🧹 Tech Debt/Cleanup

#### Issue(s)

* #2025
2023-09-30 16:56:13 +00:00
Keepers
5258ef0f36
assert correct error on s3 conn bad configs e2e (#4387)
#### Does this PR need a docs update or release note?

- [x]  No

#### Type of change

- [x] 🐛 Bugfix
- [x] 🤖 Supportability/Tests

#### Test Plan

- [x] 💚 E2E
2023-09-29 00:45:16 +00:00
Keepers
9e0d464854
sanity test refactor (#4370)
refactoring the sanity tests with three goals:
1. move from env vars to cli commands so that unsupported commands fail loudly.
2. set up support for groups restore and export testing.
3. introduce some code re-use throughout.

---

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

- [x]  No

#### Type of change

- [x] 🤖 Supportability/Tests

#### Issue(s)

* #3988

#### Test Plan

- [x] 💚 E2E
2023-09-28 23:53:15 +00:00
Keepers
e5647a809d
add GroupByID to services (#4396)
Adds a groupByID call to services, and
adds CallConfig to the group by id api fn.

---

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

- [x]  No

#### Type of change

- [x] 🌻 Feature

#### Issue(s)

* #3988

#### Test Plan

- [x] 💚 E2E
2023-09-28 22:36:38 +00:00
Keepers
c3f94fd7f7
move drive pagers to pager pattern (#4316)
Drive pager usage currently showcases strong coupling between two layers: drive collection logic processing and drive api.  This PR separates that coupling by moving the full item enumeration process into the
API, and letting the collection logic process the
results. This acs as both a simplification of complex code, and a clearer separation of ownership between the two layers.

A detrimental side effect of this change is that drive item enumeration has moved from page-streaming
(ie: each page is fully processed before moving on to the next) and onto batch processing (ie: all items are stored in memory and processed in a single pass). Acknowledging that this is an unacceptable regression, a follow-up PR will appear shortly with better handling for stream-processing enumeration from the API layer as a standard part of the pattern for all pager
implementations.

---

#### 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
2023-09-28 21:23:26 +00:00
ashmrtn
db9596d223
Use non-zero time as fallback (#4390)
Use a non-zero time as the fallback for the mod time of an item during enumeration. This should avoid an issue where the mod time in details differs from the mod time in kopia due to a serialization issue.

---

#### 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

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

#### Test Plan

- [ ] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-09-27 23:07:59 +00:00
jules
f7ab320117
fix getting owner of sites (#4376)
Fixes an issue where Get Site by id is looking for the `group` details in the additional data of the site items. It should be looking in `site.drive.owner` instead.
---

#### 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

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [x]  Unit test
- [x] 💚 E2E

Added a new test and tested using the `10rqc2` test tenant.

```
CORSO_CI_TESTS=true go test -run TestSiteIntegrationSuite/TestSites_GetByID -v
=== RUN   TestSiteIntegrationSuite
    tester.go:44: TestSiteIntegrationSuite run at 2023-09-26T17:34:05.383766Z
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID
    tester.go:44: TestSiteIntegrationSuite/TestSites_GetByID run at 2023-09-26T17:34:05.3883Z
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,96772abb-cfbe-496d-a770-301650888b3a,7ff3cdd8-1bf4-4e5d-999d-830a276c8490
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,8be0b20e-6eff-4ac8-8505-53c7030c9fb8,316e3a01-1d93-412b-9f31-8758a267bb4a
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,32c3d871-e17d-47de-abff-b5d7e3491a31,316e3a01-1d93-412b-9f31-8758a267bb4a
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,7a8d49ec-d275-4589-8fc1-a8088ed31332,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,0bd5608f-159c-488c-ac51-cd80f747bc1d,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,4aae01c8-1d30-4202-9962-9e7b64b6bc10,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,d530b5ab-0dd9-4858-a07c-9d76a8f09b83,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,c87270a2-f375-44ec-b582-09f1b7ddd842,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,055d896c-88bc-45c3-aa4b-5af71f326bcc,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,13a2ff8b-537f-428f-aaf2-f2e4b08e4bde,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,1e16d84e-9e42-406e-b628-5d4b303309ed,41e5f79b-fe25-47c0-996b-d3e77571dbb1
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,2f9743f8-4ca3-411f-b85d-32e6441eefd2,11810f05-e8bd-45e2-9728-92e434260750
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,4d799bb6-222e-46ce-a626-51051eb2f311,11810f05-e8bd-45e2-9728-92e434260750
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,b0d4432d-432b-4681-9cdb-2ab789dfe145,ce88f380-fbaa-48aa-a3a1-e04599594e95
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,f10c5f9a-1b2b-4764-8685-d08e9883888c,ce88f380-fbaa-48aa-a3a1-e04599594e95
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,8df7082a-62eb-4165-97f9-ead8cf04c0d8,11810f05-e8bd-45e2-9728-92e434260750
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,053684d8-ca6c-4376-a03e-2567816bb091,9b3e9abe-6a5e-4084-8b44-ea5a356fe02c
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,ba5dbd17-6f68-4405-b1b6-e1160c0ba746,8e229f4f-e962-42ef-a087-dc54daa2e48c
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,e946c519-47f6-443f-9544-574ab9f3966f,8e229f4f-e962-42ef-a087-dc54daa2e48c
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,846d8363-c646-496b-a603-06a2a22e0196,9b3e9abe-6a5e-4084-8b44-ea5a356fe02c
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,bf300606-e52e-41d7-a860-e5927f57a46d,8e229f4f-e962-42ef-a087-dc54daa2e48c
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,bf83915f-7454-4f2a-b3c1-1932251c714f,bf2bed00-f5ec-4551-96c1-dc7069392eb8
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,038e0095-4509-4f53-b045-0c86a7971b6a,3086932f-402c-494b-9aea-bf2bb1bf8303
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,25ca6d57-b92b-4731-9b87-23050e080eac,cf53a987-f1bb-4cea-a27e-62ee282ecca7
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,8b672056-0409-46f6-98bb-4a9f5626830f,cf53a987-f1bb-4cea-a27e-62ee282ecca7
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,e1d12403-62e6-44d0-9798-15fd194858f7,69ca49fc-e607-438b-ba24-3bb40fc7baba
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,4892edf5-2ebf-46be-a6e5-a40b2cbf1c1a,38ab6d06-fc82-4417-af93-22d8733c22be
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,6884eaa6-108e-42ee-ac1e-8f8d344d5e53,42c29db5-bf88-46b7-af47-05a5ca15c1b3
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,5cdb15ec-4440-4115-be94-d9221b9135b3,42c29db5-bf88-46b7-af47-05a5ca15c1b3
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,4637d353-1c6d-4967-98a3-a75db4e1a925,42c29db5-bf88-46b7-af47-05a5ca15c1b3
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,8b510176-8837-4a81-a26e-2020565adb92,276af97a-8a5e-4001-aa86-53958ac9548c
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,3d374d63-f5fa-4c6a-b5c3-119280bd5442,42c29db5-bf88-46b7-af47-05a5ca15c1b3
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,8fa2edf7-1f13-47e5-834d-ccdb81879302,276af97a-8a5e-4001-aa86-53958ac9548c
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,7a8dccfa-aa6b-4a75-b7bd-eab3f85af9b0,859ccc3c-2ed3-4258-84d1-ec735b39adc1
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,54bc7530-a81c-4d90-8cfb-a8625168187f,859ccc3c-2ed3-4258-84d1-ec735b39adc1
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,2d6ba44f-0638-4950-8fee-537c854e9e28,859ccc3c-2ed3-4258-84d1-ec735b39adc1
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,23283ae3-170b-4db6-b50f-895b12373524,859ccc3c-2ed3-4258-84d1-ec735b39adc1
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,f238d00a-af70-4273-9017-6042a6d8a8e1,859ccc3c-2ed3-4258-84d1-ec735b39adc1
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,ee9af367-a8ef-4f56-99ad-72f53d1cd64f,859ccc3c-2ed3-4258-84d1-ec735b39adc1
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,291e91dd-f9f9-4e0f-8abc-269ade15e1be,a470fff3-c3a7-456a-98c3-ad51d166e222
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,5edef5e8-6654-4fb7-870b-52365d9818f4,859ccc3c-2ed3-4258-84d1-ec735b39adc1
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,203db13c-aa6b-4cb4-bb11-7b5ce9c2b5b6,7f2cd296-9f7c-44e1-af81-3c06d0d43007
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,b8fff07f-350b-4f62-b35f-854b0920f180,7f2cd296-9f7c-44e1-af81-3c06d0d43007
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,26b58876-c2c2-4bee-9fae-a2acbb0ebeb0,7f2cd296-9f7c-44e1-af81-3c06d0d43007
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,b39c8064-43bf-4740-83cf-8d4814ee8591,7f2cd296-9f7c-44e1-af81-3c06d0d43007
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,01af6484-492e-4bae-bd3b-ed7d14ed3369,7f2cd296-9f7c-44e1-af81-3c06d0d43007
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,6e27eab3-0ccc-4ce1-80ae-b32912c9468d,7f2cd296-9f7c-44e1-af81-3c06d0d43007
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,bb5d5b4a-e089-4e66-9868-9e263ecc635d,4fa3a2c0-fa81-4e6f-8e8b-1479a8927bc6
=== RUN   TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,009d6803-aa00-4db7-8233-e2cbd7d9f503,5408143c-ebd0-4130-82e6-767375686853
--- PASS: TestSiteIntegrationSuite (30.98s)
    --- PASS: TestSiteIntegrationSuite/TestSites_GetByID (30.97s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,96772abb-cfbe-496d-a770-301650888b3a,7ff3cdd8-1bf4-4e5d-999d-830a276c8490 (0.61s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,8be0b20e-6eff-4ac8-8505-53c7030c9fb8,316e3a01-1d93-412b-9f31-8758a267bb4a (0.64s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,32c3d871-e17d-47de-abff-b5d7e3491a31,316e3a01-1d93-412b-9f31-8758a267bb4a (0.81s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,7a8d49ec-d275-4589-8fc1-a8088ed31332,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809 (0.59s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,0bd5608f-159c-488c-ac51-cd80f747bc1d,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809 (0.61s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,4aae01c8-1d30-4202-9962-9e7b64b6bc10,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809 (0.65s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,d530b5ab-0dd9-4858-a07c-9d76a8f09b83,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809 (0.61s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,c87270a2-f375-44ec-b582-09f1b7ddd842,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809 (0.69s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,055d896c-88bc-45c3-aa4b-5af71f326bcc,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809 (0.71s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,13a2ff8b-537f-428f-aaf2-f2e4b08e4bde,cd8ae214-0f28-43e1-8ec4-ad3b9fb11809 (0.65s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,1e16d84e-9e42-406e-b628-5d4b303309ed,41e5f79b-fe25-47c0-996b-d3e77571dbb1 (0.57s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,2f9743f8-4ca3-411f-b85d-32e6441eefd2,11810f05-e8bd-45e2-9728-92e434260750 (0.62s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,4d799bb6-222e-46ce-a626-51051eb2f311,11810f05-e8bd-45e2-9728-92e434260750 (0.79s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,b0d4432d-432b-4681-9cdb-2ab789dfe145,ce88f380-fbaa-48aa-a3a1-e04599594e95 (0.52s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,f10c5f9a-1b2b-4764-8685-d08e9883888c,ce88f380-fbaa-48aa-a3a1-e04599594e95 (0.51s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,8df7082a-62eb-4165-97f9-ead8cf04c0d8,11810f05-e8bd-45e2-9728-92e434260750 (0.62s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,053684d8-ca6c-4376-a03e-2567816bb091,9b3e9abe-6a5e-4084-8b44-ea5a356fe02c (0.55s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,ba5dbd17-6f68-4405-b1b6-e1160c0ba746,8e229f4f-e962-42ef-a087-dc54daa2e48c (0.63s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,e946c519-47f6-443f-9544-574ab9f3966f,8e229f4f-e962-42ef-a087-dc54daa2e48c (0.66s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,846d8363-c646-496b-a603-06a2a22e0196,9b3e9abe-6a5e-4084-8b44-ea5a356fe02c (0.50s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,bf300606-e52e-41d7-a860-e5927f57a46d,8e229f4f-e962-42ef-a087-dc54daa2e48c (0.73s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,bf83915f-7454-4f2a-b3c1-1932251c714f,bf2bed00-f5ec-4551-96c1-dc7069392eb8 (0.56s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,038e0095-4509-4f53-b045-0c86a7971b6a,3086932f-402c-494b-9aea-bf2bb1bf8303 (0.60s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,25ca6d57-b92b-4731-9b87-23050e080eac,cf53a987-f1bb-4cea-a27e-62ee282ecca7 (0.54s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,8b672056-0409-46f6-98bb-4a9f5626830f,cf53a987-f1bb-4cea-a27e-62ee282ecca7 (0.52s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,e1d12403-62e6-44d0-9798-15fd194858f7,69ca49fc-e607-438b-ba24-3bb40fc7baba (0.51s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,4892edf5-2ebf-46be-a6e5-a40b2cbf1c1a,38ab6d06-fc82-4417-af93-22d8733c22be (0.49s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,6884eaa6-108e-42ee-ac1e-8f8d344d5e53,42c29db5-bf88-46b7-af47-05a5ca15c1b3 (0.53s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,5cdb15ec-4440-4115-be94-d9221b9135b3,42c29db5-bf88-46b7-af47-05a5ca15c1b3 (0.50s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,4637d353-1c6d-4967-98a3-a75db4e1a925,42c29db5-bf88-46b7-af47-05a5ca15c1b3 (0.55s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,8b510176-8837-4a81-a26e-2020565adb92,276af97a-8a5e-4001-aa86-53958ac9548c (0.53s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,3d374d63-f5fa-4c6a-b5c3-119280bd5442,42c29db5-bf88-46b7-af47-05a5ca15c1b3 (0.54s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,8fa2edf7-1f13-47e5-834d-ccdb81879302,276af97a-8a5e-4001-aa86-53958ac9548c (0.53s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,7a8dccfa-aa6b-4a75-b7bd-eab3f85af9b0,859ccc3c-2ed3-4258-84d1-ec735b39adc1 (0.61s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,54bc7530-a81c-4d90-8cfb-a8625168187f,859ccc3c-2ed3-4258-84d1-ec735b39adc1 (0.54s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,2d6ba44f-0638-4950-8fee-537c854e9e28,859ccc3c-2ed3-4258-84d1-ec735b39adc1 (0.67s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,23283ae3-170b-4db6-b50f-895b12373524,859ccc3c-2ed3-4258-84d1-ec735b39adc1 (0.80s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,f238d00a-af70-4273-9017-6042a6d8a8e1,859ccc3c-2ed3-4258-84d1-ec735b39adc1 (0.74s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,ee9af367-a8ef-4f56-99ad-72f53d1cd64f,859ccc3c-2ed3-4258-84d1-ec735b39adc1 (0.76s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,291e91dd-f9f9-4e0f-8abc-269ade15e1be,a470fff3-c3a7-456a-98c3-ad51d166e222 (0.61s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,5edef5e8-6654-4fb7-870b-52365d9818f4,859ccc3c-2ed3-4258-84d1-ec735b39adc1 (0.59s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,203db13c-aa6b-4cb4-bb11-7b5ce9c2b5b6,7f2cd296-9f7c-44e1-af81-3c06d0d43007 (0.63s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,b8fff07f-350b-4f62-b35f-854b0920f180,7f2cd296-9f7c-44e1-af81-3c06d0d43007 (0.62s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,26b58876-c2c2-4bee-9fae-a2acbb0ebeb0,7f2cd296-9f7c-44e1-af81-3c06d0d43007 (0.58s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,b39c8064-43bf-4740-83cf-8d4814ee8591,7f2cd296-9f7c-44e1-af81-3c06d0d43007 (0.67s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,01af6484-492e-4bae-bd3b-ed7d14ed3369,7f2cd296-9f7c-44e1-af81-3c06d0d43007 (0.69s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,6e27eab3-0ccc-4ce1-80ae-b32912c9468d,7f2cd296-9f7c-44e1-af81-3c06d0d43007 (0.63s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,bb5d5b4a-e089-4e66-9868-9e263ecc635d,4fa3a2c0-fa81-4e6f-8e8b-1479a8927bc6 (0.67s)
        --- PASS: TestSiteIntegrationSuite/TestSites_GetByID/site_10rqc2.sharepoint.com,009d6803-aa00-4db7-8233-e2cbd7d9f503,5408143c-ebd0-4130-82e6-767375686853 (0.57s)
PASS
ok  	github.com/alcionai/corso/src/pkg/services/m365	31.635s
```
2023-09-26 23:22:14 +00:00
Keepers
a8a2aee99d
remove expand drive from root site (#4377)
missed the root site call usage of expand drive
on the last fix.

---

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

- [x]  No

#### Type of change

- [x] 🐛 Bugfix

#### Issue(s)

* #4337

#### Test Plan

- [x] 💪 Manual
- [x]  Unit test
- [x] 💚 E2E
2023-09-26 22:32:15 +00:00
Keepers
0474e5c957
separate delta not supported from invalid (#4375)
groups backup has a failing case where delta
queries are not supported, but we aren't distinguishing
that case from the invalid delta case as expected. This
results in backup failures, instead of success with no data.

---

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

- [x]  Yes, it's included

#### Type of change

- [x] 🐛 Bugfix

#### Issue(s)

* #3988

#### Test Plan

- [x] 💪 Manual
- [x]  Unit test
- [x] 💚 E2E
2023-09-26 18:37:15 +00:00
Keepers
365078a861
split repo create and init/cnn (#4343)
splits the functionality for creating a new repository struct, and initializing or connecting to it.  This is the first step in a multi-step improvement for init and connect processing.

---

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

- [x]  No

#### Type of change

- [x] 🧹 Tech Debt/Cleanup

#### Issue(s)

* #2025

#### Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-09-25 23:48:53 +00:00
Keepers
01f61a44ed
move drive expand to config property (#4362)
the addition of the drive expand requires onedrive permissions in order to retrieve sites by ID.  This causes some users to violate customer contract by requiring unwanted permissions.  This change allows configuration of the getbyID call to optionally include the drive extend, which enables the backup process to return to the permission set as expected from v0.12

---

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

- [x]  Yes, it's included

#### Type of change

- [x] 🌻 Feature

#### Issue(s)

* #4337

#### Test Plan

- [ ] 💪 Manual
- [ ] 💚 E2E
2023-09-25 19:18:16 +00:00