Initial cut of a shared base class for REST unit tests
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/rest/client/v2_alpha/__init__.py b/tests/rest/client/v2_alpha/__init__.py
index 803f97ea4f..f59745e13c 100644
--- a/tests/rest/client/v2_alpha/__init__.py
+++ b/tests/rest/client/v2_alpha/__init__.py
@@ -13,3 +13,48 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from tests import unittest
+
+from mock import Mock
+
+from ....utils import MockHttpResource, MockKey
+
+from synapse.server import HomeServer
+from synapse.types import UserID
+
+
+PATH_PREFIX = "/_matrix/client/v2_alpha"
+
+
+class V2AlphaRestTestCase(unittest.TestCase):
+ # Consumer must define
+ # USER_ID = <some string>
+ # TO_REGISTER = [<list of REST servlets to register>]
+
+ def setUp(self):
+ self.mock_resource = MockHttpResource(prefix=PATH_PREFIX)
+
+ mock_config = Mock()
+ mock_config.signing_key = [MockKey()]
+
+ hs = HomeServer("test",
+ db_pool=None,
+ datastore=Mock(spec=[
+ "insert_client_ip",
+ ]),
+ http_client=None,
+ resource_for_client=self.mock_resource,
+ resource_for_federation=self.mock_resource,
+ config=mock_config,
+ )
+
+ def _get_user_by_token(token=None):
+ return {
+ "user": UserID.from_string(self.USER_ID),
+ "admin": False,
+ "device_id": None,
+ }
+ hs.get_auth().get_user_by_token = _get_user_by_token
+
+ for r in self.TO_REGISTER:
+ r.register_servlets(hs, self.mock_resource)
|