def test_pub_sub(self): pub = EventPublisher() sub = EventSubscriber() prefix = Prefix(Subsystems.CSW, "assembly") eventName = EventName("test_event") eventKey = EventKey(prefix, eventName) keyName = "testEventValue" keyType = KeyType.IntKey values = [42] param = Parameter(keyName, keyType, values) paramSet = [param] event = SystemEvent(prefix, eventName, paramSet) thread = sub.subscribe([eventKey], self.callback) pub.publish(event) time.sleep(1) e = sub.get(eventKey) assert (e == event) assert (self.count == 1) sub.unsubscribe([eventKey]) thread.stop()
from csw.Event import SystemEvent, EventName from csw.EventPublisher import EventPublisher from csw.KeyType import KeyType from csw.Parameter import Parameter from csw.Prefix import Prefix from csw.Subsystem import Subsystems # Test publishing events source = Prefix(Subsystems.CSW, "testassembly") eventName = EventName("myAssemblyEvent") keyName = "assemblyEventValue" keyType = KeyType.DoubleKey values = [42.0] param = Parameter(keyName, keyType, values) paramSet = [param] event = SystemEvent(source, eventName, paramSet) pub = EventPublisher() pub.publish(event)