|
@@ -11,14 +11,16 @@
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
# See the License for the specific language governing permissions and
|
|
|
# limitations under the License.
|
|
|
+
|
|
|
+import synapse.app.homeserver
|
|
|
from synapse.config import ConfigError
|
|
|
from synapse.config.homeserver import HomeServerConfig
|
|
|
|
|
|
-from tests.unittest import TestCase
|
|
|
+from tests.config.utils import ConfigFileTestCase
|
|
|
from tests.utils import default_config
|
|
|
|
|
|
|
|
|
-class RegistrationConfigTestCase(TestCase):
|
|
|
+class RegistrationConfigTestCase(ConfigFileTestCase):
|
|
|
def test_session_lifetime_must_not_be_exceeded_by_smaller_lifetimes(self):
|
|
|
"""
|
|
|
session_lifetime should logically be larger than, or at least as large as,
|
|
@@ -76,3 +78,19 @@ class RegistrationConfigTestCase(TestCase):
|
|
|
HomeServerConfig().parse_config_dict(
|
|
|
{"session_lifetime": "31m", "refresh_token_lifetime": "31m", **config_dict}
|
|
|
)
|
|
|
+
|
|
|
+ def test_refuse_to_start_if_open_registration_and_no_verification(self):
|
|
|
+ self.generate_config()
|
|
|
+ self.add_lines_to_config(
|
|
|
+ [
|
|
|
+ " ",
|
|
|
+ "enable_registration: true",
|
|
|
+ "registrations_require_3pid: []",
|
|
|
+ "enable_registration_captcha: false",
|
|
|
+ "registration_requires_token: false",
|
|
|
+ ]
|
|
|
+ )
|
|
|
+
|
|
|
+ # Test that allowing open registration without verification raises an error
|
|
|
+ with self.assertRaises(ConfigError):
|
|
|
+ synapse.app.homeserver.setup(["-c", self.config_file])
|