slack import: Fix DefaultStream import of deactivated #random.

If the #random channel in Slack is deactivated, we should follow
Zulip's data model of not allowing deactivated, default streams.

This had apparently happened in zulipchat.com for a few organizations,
resulting in weird exceptions trying to invite new users.
This commit is contained in:
Tim Abbott
2020-05-12 17:18:57 -07:00
parent 44a56a66d0
commit 496c08e26c
2 changed files with 5 additions and 3 deletions

View File

@@ -379,7 +379,7 @@ def channels_to_zerver_stream(slack_data_dir: str, realm_id: int,
realm["zerver_stream"].append(stream)
slack_default_channels = ['general', 'random']
if channel['name'] in slack_default_channels:
if channel['name'] in slack_default_channels and not stream['deactivated']:
defaultstream = build_defaultstream(realm_id, stream_id,
defaultstream_id)
realm["zerver_defaultstream"].append(defaultstream)

View File

@@ -424,9 +424,11 @@ class SlackImporter(ZulipTestCase):
| set(test_added_mpims.keys())
self.assertDictEqual(test_added_channels, added_channels)
# zerver defaultstream already tested in helper functions
# zerver defaultstream already tested in helper functions.
# Note that the `random` stream is archived and thus should
# not be created as a DefaultStream.
self.assertEqual(realm["zerver_defaultstream"],
[{'id': 0, 'realm': 3, 'stream': 0}, {'id': 1, 'realm': 3, 'stream': 1}])
[{'id': 0, 'realm': 3, 'stream': 1}])
self.assertDictEqual(test_added_mpims, added_mpims)
self.assertDictEqual(test_dm_members, dm_members)