diff options
author | Richard van der Hoff <richard@matrix.org> | 2018-07-04 18:15:03 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2018-07-04 18:59:51 +0100 |
commit | 546bc9e28b3d7758c732df8e120639d58d455164 (patch) | |
tree | 82be7e3ca557fc0997438f0fec1d644862f3dd07 /tests/http/test_endpoint.py | |
parent | Merge pull request #3473 from matrix-org/erikj/thread_cache (diff) | |
download | synapse-546bc9e28b3d7758c732df8e120639d58d455164.tar.xz |
More server_name validation
We need to do a bit more validation when we get a server name, but don't want to be re-doing it all over the shop, so factor out a separate parse_and_validate_server_name, and do the extra validation. Also, use it to verify the server name in the config file.
Diffstat (limited to 'tests/http/test_endpoint.py')
-rw-r--r-- | tests/http/test_endpoint.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/tests/http/test_endpoint.py b/tests/http/test_endpoint.py index cd74825c85..b8a48d20a4 100644 --- a/tests/http/test_endpoint.py +++ b/tests/http/test_endpoint.py @@ -12,7 +12,10 @@ # 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. -from synapse.http.endpoint import parse_server_name +from synapse.http.endpoint import ( + parse_server_name, + parse_and_validate_server_name, +) from tests import unittest @@ -30,17 +33,23 @@ class ServerNameTestCase(unittest.TestCase): for i, o in test_data.items(): self.assertEqual(parse_server_name(i), o) - def test_parse_bad_server_names(self): + def test_validate_bad_server_names(self): test_data = [ "", # empty "localhost:http", # non-numeric port "1234]", # smells like ipv6 literal but isn't + "[1234", + "underscore_.com", + "percent%65.com", + "1234:5678:80", # too many colons ] for i in test_data: try: - parse_server_name(i) + parse_and_validate_server_name(i) self.fail( - "Expected parse_server_name(\"%s\") to throw" % i, + "Expected parse_and_validate_server_name('%s') to throw" % ( + i, + ), ) except ValueError: pass |