Add Options field to RemoteClusters (#25771)

* add Option flag to RemoteClusters

* add Options column to RemoteClusters table
Этот коммит содержится в:
Doug Lauder
2023-12-19 13:01:35 -05:00
коммит произвёл GitHub
родитель f118b4f0ed
Коммит d56dc9d0ce
8 изменённых файлов: 102 добавлений и 15 удалений

Просмотреть файл

@@ -44,6 +44,7 @@ func testRemoteClusterSave(t *testing.T, rctx request.CTX, ss store.Store) {
require.Equal(t, rc.SiteURL, rcSaved.SiteURL)
require.Greater(t, rc.CreateAt, int64(0))
require.Equal(t, rc.LastPingAt, int64(0))
require.Equal(t, rc.Options, model.Bitmask(0))
})
t.Run("Save missing display name", func(t *testing.T) {
@@ -63,6 +64,32 @@ func testRemoteClusterSave(t *testing.T, rctx request.CTX, ss store.Store) {
_, err := ss.RemoteCluster().Save(rc)
require.Error(t, err)
})
t.Run("Save for plugin with options", func(t *testing.T) {
rc := &model.RemoteCluster{
Name: "plugin_remote",
SiteURL: "plugin.example.com",
CreatorId: model.NewId(),
PluginID: testPluginID,
Options: model.BitflagOptionAutoShareDMs,
}
rcSaved, err := ss.RemoteCluster().Save(rc)
require.NoError(t, err)
require.Equal(t, testPluginID, rcSaved.PluginID)
require.Equal(t, model.BitflagOptionAutoShareDMs, rcSaved.Options)
require.True(t, rcSaved.IsOptionFlagSet(model.BitflagOptionAutoShareDMs))
rc.Name = "plugin_remote_2"
rc.SiteURL = "plugin2.example.com"
rc.UnsetOptionFlag(model.BitflagOptionAutoShareDMs)
rcSaved, err = ss.RemoteCluster().Save(rc)
require.NoError(t, err)
require.Equal(t, testPluginID, rcSaved.PluginID)
require.Equal(t, model.Bitmask(0), rcSaved.Options)
require.False(t, rcSaved.IsOptionFlagSet(model.BitflagOptionAutoShareDMs))
})
}
func testRemoteClusterDelete(t *testing.T, rctx request.CTX, ss store.Store) {
@@ -95,6 +122,7 @@ func testRemoteClusterGet(t *testing.T, rctx request.CTX, ss store.Store) {
CreatorId: model.NewId(),
PluginID: testPluginID,
}
rc.SetOptionFlag(model.BitflagOptionAutoShareDMs)
rcSaved, err := ss.RemoteCluster().Save(rc)
require.NoError(t, err)
@@ -102,6 +130,7 @@ func testRemoteClusterGet(t *testing.T, rctx request.CTX, ss store.Store) {
require.NoError(t, err)
require.Equal(t, rcSaved.RemoteId, rcGet.RemoteId)
require.Equal(t, testPluginID, rcGet.PluginID)
require.True(t, rcGet.IsOptionFlagSet(model.BitflagOptionAutoShareDMs))
})
t.Run("Get not found", func(t *testing.T) {