use receiveOne instead of receiveMessageType, #25914

* use receiveOne instead of receiveMessageType, #25914

* when the type is the same as the probe's type

* formatting

* rename receiveOne to receiveMessage

* rename receiveN to receiveMessages

* have to use different name in javadsl so that became receiveSeveralMessages
This commit is contained in:
Patrik Nordwall 2019-01-15 09:23:30 +01:00 committed by GitHub
parent ab82924a84
commit f4defb139b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
38 changed files with 166 additions and 170 deletions

View file

@ -33,7 +33,7 @@ public class DeviceTest extends org.scalatest.junit.JUnitSuite {
TestProbe<RespondTemperature> probe = testKit.createTestProbe(RespondTemperature.class);
ActorRef<DeviceMessage> deviceActor = testKit.spawn(Device.createBehavior("group", "device"));
deviceActor.tell(new ReadTemperature(42L, probe.getRef()));
RespondTemperature response = probe.expectMessageClass(RespondTemperature.class);
RespondTemperature response = probe.receiveMessage();
assertEquals(42L, response.requestId);
assertEquals(Optional.empty(), response.value);
}
@ -47,18 +47,18 @@ public class DeviceTest extends org.scalatest.junit.JUnitSuite {
ActorRef<DeviceMessage> deviceActor = testKit.spawn(Device.createBehavior("group", "device"));
deviceActor.tell(new RecordTemperature(1L, 24.0, recordProbe.getRef()));
assertEquals(1L, recordProbe.expectMessageClass(TemperatureRecorded.class).requestId);
assertEquals(1L, recordProbe.receiveMessage().requestId);
deviceActor.tell(new ReadTemperature(2L, readProbe.getRef()));
RespondTemperature response1 = readProbe.expectMessageClass(RespondTemperature.class);
RespondTemperature response1 = readProbe.receiveMessage();
assertEquals(2L, response1.requestId);
assertEquals(Optional.of(24.0), response1.value);
deviceActor.tell(new RecordTemperature(3L, 55.0, recordProbe.getRef()));
assertEquals(3L, recordProbe.expectMessageClass(TemperatureRecorded.class).requestId);
assertEquals(3L, recordProbe.receiveMessage().requestId);
deviceActor.tell(new ReadTemperature(4L, readProbe.getRef()));
RespondTemperature response2 = readProbe.expectMessageClass(RespondTemperature.class);
RespondTemperature response2 = readProbe.receiveMessage();
assertEquals(4L, response2.requestId);
assertEquals(Optional.of(55.0), response2.value);
}

View file

@ -30,19 +30,19 @@ public class DeviceGroupTest extends JUnitSuite {
ActorRef<DeviceGroupMessage> groupActor = testKit.spawn(DeviceGroup.createBehavior("group"));
groupActor.tell(new RequestTrackDevice("group", "device", probe.getRef()));
DeviceRegistered registered1 = probe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered1 = probe.receiveMessage();
// another deviceId
groupActor.tell(new RequestTrackDevice("group", "device3", probe.getRef()));
DeviceRegistered registered2 = probe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered2 = probe.receiveMessage();
assertNotEquals(registered1.device, registered2.device);
// Check that the device actors are working
TestProbe<TemperatureRecorded> recordProbe = testKit.createTestProbe(TemperatureRecorded.class);
registered1.device.tell(new RecordTemperature(0L, 1.0, recordProbe.getRef()));
assertEquals(0L, recordProbe.expectMessageClass(TemperatureRecorded.class).requestId);
assertEquals(0L, recordProbe.receiveMessage().requestId);
registered2.device.tell(new RecordTemperature(1L, 2.0, recordProbe.getRef()));
assertEquals(1L, recordProbe.expectMessageClass(TemperatureRecorded.class).requestId);
assertEquals(1L, recordProbe.receiveMessage().requestId);
}
@Test
@ -61,11 +61,11 @@ public class DeviceGroupTest extends JUnitSuite {
ActorRef<DeviceGroupMessage> groupActor = testKit.spawn(DeviceGroup.createBehavior("group"));
groupActor.tell(new RequestTrackDevice("group", "device", probe.getRef()));
DeviceRegistered registered1 = probe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered1 = probe.receiveMessage();
// registering same again should be idempotent
groupActor.tell(new RequestTrackDevice("group", "device", probe.getRef()));
DeviceRegistered registered2 = probe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered2 = probe.receiveMessage();
assertEquals(registered1.device, registered2.device);
}
// #device-group-test3
@ -77,15 +77,15 @@ public class DeviceGroupTest extends JUnitSuite {
ActorRef<DeviceGroupMessage> groupActor = testKit.spawn(DeviceGroup.createBehavior("group"));
groupActor.tell(new RequestTrackDevice("group", "device1", registeredProbe.getRef()));
registeredProbe.expectMessageClass(DeviceRegistered.class);
registeredProbe.receiveMessage();
groupActor.tell(new RequestTrackDevice("group", "device2", registeredProbe.getRef()));
registeredProbe.expectMessageClass(DeviceRegistered.class);
registeredProbe.receiveMessage();
TestProbe<ReplyDeviceList> deviceListProbe = testKit.createTestProbe(ReplyDeviceList.class);
groupActor.tell(new RequestDeviceList(0L, "group", deviceListProbe.getRef()));
ReplyDeviceList reply = deviceListProbe.expectMessageClass(ReplyDeviceList.class);
ReplyDeviceList reply = deviceListProbe.receiveMessage();
assertEquals(0L, reply.requestId);
assertEquals(Stream.of("device1", "device2").collect(Collectors.toSet()), reply.ids);
}
@ -96,17 +96,17 @@ public class DeviceGroupTest extends JUnitSuite {
ActorRef<DeviceGroupMessage> groupActor = testKit.spawn(DeviceGroup.createBehavior("group"));
groupActor.tell(new RequestTrackDevice("group", "device1", registeredProbe.getRef()));
DeviceRegistered registered1 = registeredProbe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered1 = registeredProbe.receiveMessage();
groupActor.tell(new RequestTrackDevice("group", "device2", registeredProbe.getRef()));
DeviceRegistered registered2 = registeredProbe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered2 = registeredProbe.receiveMessage();
ActorRef<DeviceMessage> toShutDown = registered1.device;
TestProbe<ReplyDeviceList> deviceListProbe = testKit.createTestProbe(ReplyDeviceList.class);
groupActor.tell(new RequestDeviceList(0L, "group", deviceListProbe.getRef()));
ReplyDeviceList reply = deviceListProbe.expectMessageClass(ReplyDeviceList.class);
ReplyDeviceList reply = deviceListProbe.receiveMessage();
assertEquals(0L, reply.requestId);
assertEquals(Stream.of("device1", "device2").collect(Collectors.toSet()), reply.ids);
@ -118,7 +118,7 @@ public class DeviceGroupTest extends JUnitSuite {
registeredProbe.awaitAssert(
() -> {
groupActor.tell(new RequestDeviceList(1L, "group", deviceListProbe.getRef()));
ReplyDeviceList r = deviceListProbe.expectMessageClass(ReplyDeviceList.class);
ReplyDeviceList r = deviceListProbe.receiveMessage();
assertEquals(1L, r.requestId);
assertEquals(Stream.of("device2").collect(Collectors.toSet()), r.ids);
return null;

View file

@ -24,11 +24,11 @@ public class DeviceManagerTest extends JUnitSuite {
ActorRef<DeviceManagerMessage> managerActor = testKit.spawn(DeviceManager.createBehavior());
managerActor.tell(new RequestTrackDevice("group1", "device", probe.getRef()));
DeviceRegistered registered1 = probe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered1 = probe.receiveMessage();
// another group
managerActor.tell(new RequestTrackDevice("group2", "device", probe.getRef()));
DeviceRegistered registered2 = probe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered2 = probe.receiveMessage();
assertNotEquals(registered1.device, registered2.device);
}
}

View file

@ -26,7 +26,7 @@ public class DeviceTest extends JUnitSuite {
TestProbe<RespondTemperature> probe = testKit.createTestProbe(RespondTemperature.class);
ActorRef<DeviceMessage> deviceActor = testKit.spawn(Device.createBehavior("group", "device"));
deviceActor.tell(new ReadTemperature(42L, probe.getRef()));
RespondTemperature response = probe.expectMessageClass(RespondTemperature.class);
RespondTemperature response = probe.receiveMessage();
assertEquals(42L, response.requestId);
assertEquals(Optional.empty(), response.value);
}
@ -40,18 +40,18 @@ public class DeviceTest extends JUnitSuite {
ActorRef<DeviceMessage> deviceActor = testKit.spawn(Device.createBehavior("group", "device"));
deviceActor.tell(new RecordTemperature(1L, 24.0, recordProbe.getRef()));
assertEquals(1L, recordProbe.expectMessageClass(TemperatureRecorded.class).requestId);
assertEquals(1L, recordProbe.receiveMessage().requestId);
deviceActor.tell(new ReadTemperature(2L, readProbe.getRef()));
RespondTemperature response1 = readProbe.expectMessageClass(RespondTemperature.class);
RespondTemperature response1 = readProbe.receiveMessage();
assertEquals(2L, response1.requestId);
assertEquals(Optional.of(24.0), response1.value);
deviceActor.tell(new RecordTemperature(3L, 55.0, recordProbe.getRef()));
assertEquals(3L, recordProbe.expectMessageClass(TemperatureRecorded.class).requestId);
assertEquals(3L, recordProbe.receiveMessage().requestId);
deviceActor.tell(new ReadTemperature(4L, readProbe.getRef()));
RespondTemperature response2 = readProbe.expectMessageClass(RespondTemperature.class);
RespondTemperature response2 = readProbe.receiveMessage();
assertEquals(4L, response2.requestId);
assertEquals(Optional.of(55.0), response2.value);
}

View file

@ -52,7 +52,7 @@ public class DeviceGroupQueryTest extends JUnitSuite {
new DeviceGroupQuery.WrappedRespondTemperature(
new RespondTemperature(0L, "device2", Optional.of(2.0))));
RespondAllTemperatures response = requester.expectMessageClass(RespondAllTemperatures.class);
RespondAllTemperatures response = requester.receiveMessage();
assertEquals(1L, response.requestId);
Map<String, TemperatureReading> expectedTemperatures = new HashMap<>();
@ -91,7 +91,7 @@ public class DeviceGroupQueryTest extends JUnitSuite {
new DeviceGroupQuery.WrappedRespondTemperature(
new RespondTemperature(0L, "device2", Optional.of(2.0))));
RespondAllTemperatures response = requester.expectMessageClass(RespondAllTemperatures.class);
RespondAllTemperatures response = requester.receiveMessage();
assertEquals(1L, response.requestId);
Map<String, TemperatureReading> expectedTemperatures = new HashMap<>();
@ -128,7 +128,7 @@ public class DeviceGroupQueryTest extends JUnitSuite {
device2.stop();
RespondAllTemperatures response = requester.expectMessageClass(RespondAllTemperatures.class);
RespondAllTemperatures response = requester.receiveMessage();
assertEquals(1L, response.requestId);
Map<String, TemperatureReading> expectedTemperatures = new HashMap<>();
@ -169,7 +169,7 @@ public class DeviceGroupQueryTest extends JUnitSuite {
device2.stop();
RespondAllTemperatures response = requester.expectMessageClass(RespondAllTemperatures.class);
RespondAllTemperatures response = requester.receiveMessage();
assertEquals(1L, response.requestId);
Map<String, TemperatureReading> expectedTemperatures = new HashMap<>();
@ -206,7 +206,7 @@ public class DeviceGroupQueryTest extends JUnitSuite {
// no reply from device2
RespondAllTemperatures response = requester.expectMessageClass(RespondAllTemperatures.class);
RespondAllTemperatures response = requester.receiveMessage();
assertEquals(1L, response.requestId);
Map<String, TemperatureReading> expectedTemperatures = new HashMap<>();

View file

@ -31,19 +31,19 @@ public class DeviceGroupTest extends JUnitSuite {
ActorRef<DeviceGroupMessage> groupActor = testKit.spawn(DeviceGroup.createBehavior("group"));
groupActor.tell(new RequestTrackDevice("group", "device", probe.getRef()));
DeviceRegistered registered1 = probe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered1 = probe.receiveMessage();
// another deviceId
groupActor.tell(new RequestTrackDevice("group", "device3", probe.getRef()));
DeviceRegistered registered2 = probe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered2 = probe.receiveMessage();
assertNotEquals(registered1.device, registered2.device);
// Check that the device actors are working
TestProbe<TemperatureRecorded> recordProbe = testKit.createTestProbe(TemperatureRecorded.class);
registered1.device.tell(new RecordTemperature(0L, 1.0, recordProbe.getRef()));
assertEquals(0L, recordProbe.expectMessageClass(TemperatureRecorded.class).requestId);
assertEquals(0L, recordProbe.receiveMessage().requestId);
registered2.device.tell(new RecordTemperature(1L, 2.0, recordProbe.getRef()));
assertEquals(1L, recordProbe.expectMessageClass(TemperatureRecorded.class).requestId);
assertEquals(1L, recordProbe.receiveMessage().requestId);
}
@Test
@ -60,11 +60,11 @@ public class DeviceGroupTest extends JUnitSuite {
ActorRef<DeviceGroupMessage> groupActor = testKit.spawn(DeviceGroup.createBehavior("group"));
groupActor.tell(new RequestTrackDevice("group", "device", probe.getRef()));
DeviceRegistered registered1 = probe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered1 = probe.receiveMessage();
// registering same again should be idempotent
groupActor.tell(new RequestTrackDevice("group", "device", probe.getRef()));
DeviceRegistered registered2 = probe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered2 = probe.receiveMessage();
assertEquals(registered1.device, registered2.device);
}
@ -74,15 +74,15 @@ public class DeviceGroupTest extends JUnitSuite {
ActorRef<DeviceGroupMessage> groupActor = testKit.spawn(DeviceGroup.createBehavior("group"));
groupActor.tell(new RequestTrackDevice("group", "device1", registeredProbe.getRef()));
registeredProbe.expectMessageClass(DeviceRegistered.class);
registeredProbe.receiveMessage();
groupActor.tell(new RequestTrackDevice("group", "device2", registeredProbe.getRef()));
registeredProbe.expectMessageClass(DeviceRegistered.class);
registeredProbe.receiveMessage();
TestProbe<ReplyDeviceList> deviceListProbe = testKit.createTestProbe(ReplyDeviceList.class);
groupActor.tell(new RequestDeviceList(0L, "group", deviceListProbe.getRef()));
ReplyDeviceList reply = deviceListProbe.expectMessageClass(ReplyDeviceList.class);
ReplyDeviceList reply = deviceListProbe.receiveMessage();
assertEquals(0L, reply.requestId);
assertEquals(Stream.of("device1", "device2").collect(Collectors.toSet()), reply.ids);
}
@ -93,17 +93,17 @@ public class DeviceGroupTest extends JUnitSuite {
ActorRef<DeviceGroupMessage> groupActor = testKit.spawn(DeviceGroup.createBehavior("group"));
groupActor.tell(new RequestTrackDevice("group", "device1", registeredProbe.getRef()));
DeviceRegistered registered1 = registeredProbe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered1 = registeredProbe.receiveMessage();
groupActor.tell(new RequestTrackDevice("group", "device2", registeredProbe.getRef()));
registeredProbe.expectMessageClass(DeviceRegistered.class);
registeredProbe.receiveMessage();
ActorRef<DeviceMessage> toShutDown = registered1.device;
TestProbe<ReplyDeviceList> deviceListProbe = testKit.createTestProbe(ReplyDeviceList.class);
groupActor.tell(new RequestDeviceList(0L, "group", deviceListProbe.getRef()));
ReplyDeviceList reply = deviceListProbe.expectMessageClass(ReplyDeviceList.class);
ReplyDeviceList reply = deviceListProbe.receiveMessage();
assertEquals(0L, reply.requestId);
assertEquals(Stream.of("device1", "device2").collect(Collectors.toSet()), reply.ids);
@ -115,7 +115,7 @@ public class DeviceGroupTest extends JUnitSuite {
registeredProbe.awaitAssert(
() -> {
groupActor.tell(new RequestDeviceList(1L, "group", deviceListProbe.getRef()));
ReplyDeviceList r = deviceListProbe.expectMessageClass(ReplyDeviceList.class);
ReplyDeviceList r = deviceListProbe.receiveMessage();
assertEquals(1L, r.requestId);
assertEquals(Stream.of("device2").collect(Collectors.toSet()), r.ids);
return null;
@ -129,29 +129,26 @@ public class DeviceGroupTest extends JUnitSuite {
ActorRef<DeviceGroupMessage> groupActor = testKit.spawn(DeviceGroup.createBehavior("group"));
groupActor.tell(new RequestTrackDevice("group", "device1", registeredProbe.getRef()));
ActorRef<DeviceMessage> deviceActor1 =
registeredProbe.expectMessageClass(DeviceRegistered.class).device;
ActorRef<DeviceMessage> deviceActor1 = registeredProbe.receiveMessage().device;
groupActor.tell(new RequestTrackDevice("group", "device2", registeredProbe.getRef()));
ActorRef<DeviceMessage> deviceActor2 =
registeredProbe.expectMessageClass(DeviceRegistered.class).device;
ActorRef<DeviceMessage> deviceActor2 = registeredProbe.receiveMessage().device;
groupActor.tell(new RequestTrackDevice("group", "device3", registeredProbe.getRef()));
ActorRef<DeviceMessage> deviceActor3 =
registeredProbe.expectMessageClass(DeviceRegistered.class).device;
ActorRef<DeviceMessage> deviceActor3 = registeredProbe.receiveMessage().device;
// Check that the device actors are working
TestProbe<TemperatureRecorded> recordProbe = testKit.createTestProbe(TemperatureRecorded.class);
deviceActor1.tell(new RecordTemperature(0L, 1.0, recordProbe.getRef()));
assertEquals(0L, recordProbe.expectMessageClass(TemperatureRecorded.class).requestId);
assertEquals(0L, recordProbe.receiveMessage().requestId);
deviceActor2.tell(new RecordTemperature(1L, 2.0, recordProbe.getRef()));
assertEquals(1L, recordProbe.expectMessageClass(TemperatureRecorded.class).requestId);
assertEquals(1L, recordProbe.receiveMessage().requestId);
// No temperature for device 3
TestProbe<RespondAllTemperatures> allTempProbe =
testKit.createTestProbe(RespondAllTemperatures.class);
groupActor.tell(new RequestAllTemperatures(0L, "group", allTempProbe.getRef()));
RespondAllTemperatures response = allTempProbe.expectMessageClass(RespondAllTemperatures.class);
RespondAllTemperatures response = allTempProbe.receiveMessage();
assertEquals(0L, response.requestId);
Map<String, TemperatureReading> expectedTemperatures = new HashMap<>();

View file

@ -24,11 +24,11 @@ public class DeviceManagerTest extends JUnitSuite {
ActorRef<DeviceManagerMessage> managerActor = testKit.spawn(DeviceManager.createBehavior());
managerActor.tell(new RequestTrackDevice("group1", "device", probe.getRef()));
DeviceRegistered registered1 = probe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered1 = probe.receiveMessage();
// another group
managerActor.tell(new RequestTrackDevice("group2", "device", probe.getRef()));
DeviceRegistered registered2 = probe.expectMessageClass(DeviceRegistered.class);
DeviceRegistered registered2 = probe.receiveMessage();
assertNotEquals(registered1.device, registered2.device);
}
}

View file

@ -13,7 +13,6 @@ import org.scalatest.junit.JUnitSuite;
import java.util.Optional;
import static jdocs.typed.tutorial_5.DeviceManagerProtocol.*;
import static jdocs.typed.tutorial_5.DeviceProtocol.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
@ -27,7 +26,7 @@ public class DeviceTest extends JUnitSuite {
TestProbe<RespondTemperature> probe = testKit.createTestProbe(RespondTemperature.class);
ActorRef<DeviceMessage> deviceActor = testKit.spawn(Device.createBehavior("group", "device"));
deviceActor.tell(new ReadTemperature(42L, probe.getRef()));
RespondTemperature response = probe.expectMessageClass(RespondTemperature.class);
RespondTemperature response = probe.receiveMessage();
assertEquals(42L, response.requestId);
assertEquals(Optional.empty(), response.value);
}
@ -39,18 +38,18 @@ public class DeviceTest extends JUnitSuite {
ActorRef<DeviceMessage> deviceActor = testKit.spawn(Device.createBehavior("group", "device"));
deviceActor.tell(new RecordTemperature(1L, 24.0, recordProbe.getRef()));
assertEquals(1L, recordProbe.expectMessageClass(TemperatureRecorded.class).requestId);
assertEquals(1L, recordProbe.receiveMessage().requestId);
deviceActor.tell(new ReadTemperature(2L, readProbe.getRef()));
RespondTemperature response1 = readProbe.expectMessageClass(RespondTemperature.class);
RespondTemperature response1 = readProbe.receiveMessage();
assertEquals(2L, response1.requestId);
assertEquals(Optional.of(24.0), response1.value);
deviceActor.tell(new RecordTemperature(3L, 55.0, recordProbe.getRef()));
assertEquals(3L, recordProbe.expectMessageClass(TemperatureRecorded.class).requestId);
assertEquals(3L, recordProbe.receiveMessage().requestId);
deviceActor.tell(new ReadTemperature(4L, readProbe.getRef()));
RespondTemperature response2 = readProbe.expectMessageClass(RespondTemperature.class);
RespondTemperature response2 = readProbe.receiveMessage();
assertEquals(4L, response2.requestId);
assertEquals(Optional.of(55.0), response2.value);
}