Do not try to restore channel messages for Groups (#4334)
<!-- PR description--> As of now, we try to restore channel messages and fail with the following error: ``` Error: Failed to run Groups restore: running restore: restoring collections: data category not supported ``` --- #### 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.--> - [ ] 💪 Manual - [x] ⚡ Unit test - [ ] 💚 E2E
This commit is contained in:
parent
738693a1d7
commit
496b725035
@ -18,6 +18,7 @@ import (
|
|||||||
"github.com/alcionai/corso/src/pkg/control"
|
"github.com/alcionai/corso/src/pkg/control"
|
||||||
"github.com/alcionai/corso/src/pkg/count"
|
"github.com/alcionai/corso/src/pkg/count"
|
||||||
"github.com/alcionai/corso/src/pkg/fault"
|
"github.com/alcionai/corso/src/pkg/fault"
|
||||||
|
"github.com/alcionai/corso/src/pkg/logger"
|
||||||
"github.com/alcionai/corso/src/pkg/path"
|
"github.com/alcionai/corso/src/pkg/path"
|
||||||
"github.com/alcionai/corso/src/pkg/services/m365/api"
|
"github.com/alcionai/corso/src/pkg/services/m365/api"
|
||||||
)
|
)
|
||||||
@ -103,6 +104,9 @@ func ConsumeRestoreCollections(
|
|||||||
control.DefaultRestoreContainerName(dttm.HumanReadableDriveItem),
|
control.DefaultRestoreContainerName(dttm.HumanReadableDriveItem),
|
||||||
errs,
|
errs,
|
||||||
ctr)
|
ctr)
|
||||||
|
case path.ChannelMessagesCategory:
|
||||||
|
// Message cannot be restored as of now using Graph API.
|
||||||
|
logger.Ctx(ctx).Debug("Skipping restore for channel messages")
|
||||||
default:
|
default:
|
||||||
return nil, clues.New("data category not supported").
|
return nil, clues.New("data category not supported").
|
||||||
With("category", category).
|
With("category", category).
|
||||||
|
|||||||
60
src/internal/m365/service/groups/restore_test.go
Normal file
60
src/internal/m365/service/groups/restore_test.go
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
package groups
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/alcionai/clues"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
"github.com/stretchr/testify/suite"
|
||||||
|
|
||||||
|
"github.com/alcionai/corso/src/internal/common/idname"
|
||||||
|
"github.com/alcionai/corso/src/internal/data"
|
||||||
|
"github.com/alcionai/corso/src/internal/data/mock"
|
||||||
|
"github.com/alcionai/corso/src/internal/operations/inject"
|
||||||
|
"github.com/alcionai/corso/src/internal/tester"
|
||||||
|
"github.com/alcionai/corso/src/pkg/fault"
|
||||||
|
"github.com/alcionai/corso/src/pkg/path"
|
||||||
|
"github.com/alcionai/corso/src/pkg/services/m365/api"
|
||||||
|
)
|
||||||
|
|
||||||
|
type GroupsUnitSuite struct {
|
||||||
|
tester.Suite
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGroupsUnitSuite(t *testing.T) {
|
||||||
|
suite.Run(t, &GroupsUnitSuite{Suite: tester.NewUnitSuite(t)})
|
||||||
|
}
|
||||||
|
|
||||||
|
func (suite *GroupsUnitSuite) TestConsumeRestoreCollections_noErrorOnGroups() {
|
||||||
|
t := suite.T()
|
||||||
|
|
||||||
|
ctx, flush := tester.NewContext(t)
|
||||||
|
defer flush()
|
||||||
|
|
||||||
|
rcc := inject.RestoreConsumerConfig{}
|
||||||
|
pth, err := path.Builder{}.
|
||||||
|
Append("General").
|
||||||
|
ToDataLayerPath(
|
||||||
|
"t",
|
||||||
|
"g",
|
||||||
|
path.GroupsService,
|
||||||
|
path.ChannelMessagesCategory,
|
||||||
|
false)
|
||||||
|
require.NoError(t, err, clues.ToCore(err))
|
||||||
|
|
||||||
|
dcs := []data.RestoreCollection{
|
||||||
|
mock.Collection{Path: pth},
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = ConsumeRestoreCollections(
|
||||||
|
ctx,
|
||||||
|
rcc,
|
||||||
|
api.Client{},
|
||||||
|
idname.NewCache(map[string]string{}),
|
||||||
|
dcs,
|
||||||
|
nil,
|
||||||
|
fault.New(false),
|
||||||
|
nil)
|
||||||
|
assert.NoError(t, err, "Groups Channels restore")
|
||||||
|
}
|
||||||
2
src/pkg/storage/testdata/storage.go
vendored
2
src/pkg/storage/testdata/storage.go
vendored
@ -56,7 +56,7 @@ func NewFilesystemStorage(t tester.TestT) storage.Storage {
|
|||||||
now := tester.LogTimeOfTest(t)
|
now := tester.LogTimeOfTest(t)
|
||||||
repoPath := filepath.Join(t.TempDir(), now)
|
repoPath := filepath.Join(t.TempDir(), now)
|
||||||
|
|
||||||
err := os.MkdirAll(repoPath, 0700)
|
err := os.MkdirAll(repoPath, 0o700)
|
||||||
require.NoErrorf(t, err, "creating filesystem repo: %+v", clues.ToCore(err))
|
require.NoErrorf(t, err, "creating filesystem repo: %+v", clues.ToCore(err))
|
||||||
|
|
||||||
t.Logf("testing at filesystem repo [%s]", repoPath)
|
t.Logf("testing at filesystem repo [%s]", repoPath)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user