-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathtest_app_handler_registry.py
86 lines (64 loc) · 2.75 KB
/
test_app_handler_registry.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
from django.test import TestCase
from fakeapp.grpc.fakeapp_pb2 import UnitTestModelListRequest
from fakeapp.grpc.fakeapp_pb2_grpc import UnitTestModelControllerStub
from fakeapp.models import UnitTestModel
from django_socio_grpc.protobuf import RegistrySingleton
from django_socio_grpc.services.app_handler_registry import (
AppHandlerRegistry,
AppHandlerRegistryError,
)
from .grpc_test_utils.fake_grpc import FakeChannel, FakeGRPC, FakeServer
class TestAppHandlerRegistry(TestCase):
def setUp(self):
for idx in range(10):
title = "z" * (idx + 1)
text = chr(idx + ord("a")) + chr(idx + ord("b")) + chr(idx + ord("c"))
UnitTestModel(title=title, text=text).save()
def tearDown(self) -> None:
RegistrySingleton.clean_all()
def test_AppHandlerRegistry_old_way(self):
################
# Setup fake server but with the registry handler
################
grpc_addr = FakeGRPC.get_grpc_addr()
fake_server = FakeServer()
fake_server.add_insecure_port(grpc_addr)
fake_server.start()
fake_channel = FakeChannel(fake_server)
fakeapp_handler_registry = AppHandlerRegistry(app_name="fakeapp", server=fake_server)
fakeapp_handler_registry.register("UnitTestModel")
###############
# Test that the service is correctly registered
###############
grpc_stub = UnitTestModelControllerStub(fake_channel)
request = UnitTestModelListRequest()
response = grpc_stub.List(request=request)
self.assertEqual(len(response.results), 10)
###############
# stop fake server
###############
fake_server.stop(grace=None)
def test_AppHandlerRegistry(self):
################
# Setup fake server but with the registry handler
################
grpc_addr = FakeGRPC.get_grpc_addr()
fake_server = FakeServer()
fake_server.add_insecure_port(grpc_addr)
fake_server.start()
fake_channel = FakeChannel(fake_server)
fakeapp_handler_registry = AppHandlerRegistry(app_name="fakeapp", server=fake_server)
fakeapp_handler_registry.register("UnitTestModelService")
with self.assertRaises(AppHandlerRegistryError):
AppHandlerRegistry(app_name="fakeapp", server=fake_server)
###############
# Test that the service is correctly registered
###############
grpc_stub = UnitTestModelControllerStub(fake_channel)
request = UnitTestModelListRequest()
response = grpc_stub.List(request=request)
self.assertEqual(len(response.results), 10)
###############
# stop fake server
###############
fake_server.stop(grace=None)