Cleanups and fixed test

This commit is contained in:
Jaime Freire 2024-01-03 09:58:58 +01:00
parent 4abcfc2178
commit c8a7f22a45
8 changed files with 36 additions and 48 deletions

View File

@ -1,19 +1,20 @@
package dev.freireservices.social_altruism.chat; package dev.freireservices.social_altruism.chat;
import static dev.freireservices.social_altruism.chat.participant.ParticipantType.*;
import akka.actor.typed.ActorRef; import akka.actor.typed.ActorRef;
import akka.actor.typed.ActorSystem; import akka.actor.typed.ActorSystem;
import akka.actor.typed.Behavior; import akka.actor.typed.Behavior;
import akka.actor.typed.Terminated; import akka.actor.typed.Terminated;
import akka.actor.typed.javadsl.Behaviors; import akka.actor.typed.javadsl.Behaviors;
import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol;
import dev.freireservices.social_altruism.chat.participant.Participant; import dev.freireservices.social_altruism.chat.participant.Participant;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol;
import dev.freireservices.social_altruism.chat.potroom.PotRoom; import dev.freireservices.social_altruism.chat.potroom.PotRoom;
import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import static dev.freireservices.social_altruism.chat.participant.ParticipantType.*;
public class PotQuickStart { public class PotQuickStart {
public static final int MONEDAS_INIT = 100; public static final int MONEDAS_INIT = 100;

View File

@ -1,25 +1,23 @@
package dev.freireservices.social_altruism.chat.participant; package dev.freireservices.social_altruism.chat.participant;
import static dev.freireservices.social_altruism.chat.participant.ParticipantType.*;
import static dev.freireservices.social_altruism.chat.participant.ParticipantType.JUSTICIERO;
import akka.actor.typed.ActorRef; import akka.actor.typed.ActorRef;
import akka.actor.typed.Behavior; import akka.actor.typed.Behavior;
import akka.actor.typed.javadsl.ActorContext; import akka.actor.typed.javadsl.ActorContext;
import akka.actor.typed.javadsl.Behaviors; import akka.actor.typed.javadsl.Behaviors;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.*; import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.*;
import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol.PotRoomMessage; import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol.PotRoomMessage;
import java.security.SecureRandom;
import java.sql.Time;
import java.util.List;
import java.util.concurrent.TimeUnit;
import dev.freireservices.social_altruism.chat.potroom.SessionProtocol; import dev.freireservices.social_altruism.chat.potroom.SessionProtocol;
import dev.freireservices.social_altruism.chat.potroom.SessionProtocol.SessionMessage; import dev.freireservices.social_altruism.chat.potroom.SessionProtocol.SessionMessage;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.security.SecureRandom;
import java.util.List;
import java.util.concurrent.TimeUnit;
import static dev.freireservices.social_altruism.chat.participant.ParticipantType.JUSTICIERO;
import static dev.freireservices.social_altruism.chat.participant.ParticipantType.SANTO;
@Setter @Setter
@Getter @Getter
public class Participant { public class Participant {

View File

@ -1,9 +1,7 @@
package dev.freireservices.social_altruism.chat.participant; package dev.freireservices.social_altruism.chat.participant;
import akka.actor.typed.ActorRef; import akka.actor.typed.ActorRef;
import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol;
import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol.PotRoomMessage; import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol.PotRoomMessage;
import dev.freireservices.social_altruism.chat.potroom.SessionProtocol;
import dev.freireservices.social_altruism.chat.potroom.SessionProtocol.SessionMessage; import dev.freireservices.social_altruism.chat.potroom.SessionProtocol.SessionMessage;
import java.util.List; import java.util.List;

View File

@ -1,14 +1,12 @@
package dev.freireservices.social_altruism.chat.potroom; package dev.freireservices.social_altruism.chat.potroom;
import static dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.*;
import static java.nio.charset.StandardCharsets.*;
import akka.actor.typed.ActorRef; import akka.actor.typed.ActorRef;
import akka.actor.typed.Behavior; import akka.actor.typed.Behavior;
import akka.actor.typed.javadsl.ActorContext; import akka.actor.typed.javadsl.ActorContext;
import akka.actor.typed.javadsl.Behaviors; import akka.actor.typed.javadsl.Behaviors;
import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol.*; import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.*;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.ParticipantMessage; import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol.EnterPot;
import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol.PotRoomMessage;
import dev.freireservices.social_altruism.chat.potroom.SessionProtocol.SessionMessage; import dev.freireservices.social_altruism.chat.potroom.SessionProtocol.SessionMessage;
import lombok.Getter; import lombok.Getter;
@ -16,6 +14,9 @@ import java.net.URLEncoder;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import static dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.*;
import static java.nio.charset.StandardCharsets.UTF_8;
@Getter @Getter
public class PotRoom { public class PotRoom {
private final ActorContext<PotRoomMessage> context; private final ActorContext<PotRoomMessage> context;

View File

@ -2,9 +2,7 @@ package dev.freireservices.social_altruism.chat.potroom;
import akka.actor.typed.ActorRef; import akka.actor.typed.ActorRef;
import java.util.List; import static dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.ParticipantMessage;
import static dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.*;
public class PotRoomProtocol { public class PotRoomProtocol {
public interface PotRoomMessage {} public interface PotRoomMessage {}

View File

@ -4,7 +4,6 @@ import akka.actor.typed.ActorRef;
import akka.actor.typed.Behavior; import akka.actor.typed.Behavior;
import akka.actor.typed.javadsl.ActorContext; import akka.actor.typed.javadsl.ActorContext;
import akka.actor.typed.javadsl.Behaviors; import akka.actor.typed.javadsl.Behaviors;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.ParticipantMessage; import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.ParticipantMessage;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.PotReturned; import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.PotReturned;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.SessionEnded; import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.SessionEnded;

View File

@ -1,7 +1,6 @@
package dev.freireservices.social_altruism.chat.potroom; package dev.freireservices.social_altruism.chat.potroom;
import akka.actor.typed.ActorRef; import akka.actor.typed.ActorRef;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.ParticipantMessage; import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.ParticipantMessage;
import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol.PotRoomMessage; import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol.PotRoomMessage;
import lombok.Getter; import lombok.Getter;

View File

@ -1,45 +1,39 @@
package dev.freireservices.social_altruism.chat; package dev.freireservices.social_altruism.chat;
import static dev.freireservices.social_altruism.chat.participant.ParticipantType.*;
import static java.net.URLEncoder.encode;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.mockito.Mockito.mock;
import akka.actor.testkit.typed.javadsl.ActorTestKit; import akka.actor.testkit.typed.javadsl.ActorTestKit;
import akka.actor.testkit.typed.javadsl.BehaviorTestKit;
import akka.actor.testkit.typed.javadsl.BehaviorTestKit$;
import akka.actor.testkit.typed.javadsl.TestProbe; import akka.actor.testkit.typed.javadsl.TestProbe;
import akka.actor.typed.ActorRef; import akka.actor.typed.ActorRef;
import akka.actor.typed.javadsl.ActorContext;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.ParticipantMessage;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.SessionEnded;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.SessionStarted;
import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol;
import dev.freireservices.social_altruism.chat.participant.Participant; import dev.freireservices.social_altruism.chat.participant.Participant;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol;
import dev.freireservices.social_altruism.chat.participant.ParticipantProtocol.ParticipantMessage;
import dev.freireservices.social_altruism.chat.potroom.PotRoom; import dev.freireservices.social_altruism.chat.potroom.PotRoom;
import dev.freireservices.social_altruism.chat.potroom.Session; import dev.freireservices.social_altruism.chat.potroom.PotRoomProtocol;
import org.junit.Test;
import java.time.Duration; import java.time.Duration;
import java.util.List;
import dev.freireservices.social_altruism.chat.potroom.SessionProtocol; import static dev.freireservices.social_altruism.chat.participant.ParticipantType.*;
import dev.freireservices.social_altruism.chat.potroom.SessionProtocol.SessionMessage;
import org.junit.Test;
public class PotQuickStartTest { public class PotQuickStartTest {
public static final int INITIAL_COINS = 100; public static final int INITIAL_COINS = 100;
public static final int TOTAL_PARTICIPANTS = 3; public static final int TOTAL_PARTICIPANTS = 4;
@Test @Test
// FIXME - Improve or delete.. // FIXME - Improve or delete..
public void testCooperationCaseOne() throws InterruptedException { public void testCooperationCaseOne() {
final ActorTestKit testKit = ActorTestKit.create(); final ActorTestKit testKit = ActorTestKit.create();
TestProbe<ParticipantMessage> testProbe = TestProbe<ParticipantMessage> testProbe =
testKit.createTestProbe("TestProbe"); testKit.createTestProbe("TestProbe", ParticipantMessage.class);
var potRoom = PotRoom.create(TOTAL_PARTICIPANTS, 1);
ActorRef<PotRoomProtocol.PotRoomMessage> chatRoomTest = ActorRef<PotRoomProtocol.PotRoomMessage> chatRoomTest =
testKit.spawn(PotRoom.create(3, 1), "potRoom"); testKit.spawn(potRoom, "potRoom");
BehaviorTestKit<PotRoomProtocol.PotRoomMessage> test = BehaviorTestKit.create(potRoom);
ActorRef<ParticipantMessage> p1 = ActorRef<ParticipantMessage> p1 =
testKit.spawn(Participant.create(INITIAL_COINS, PICARO), "PICARO-1"); testKit.spawn(Participant.create(INITIAL_COINS, PICARO), "PICARO-1");
@ -54,12 +48,12 @@ public class PotQuickStartTest {
chatRoomTest.tell(new PotRoomProtocol.EnterPot(p1)); chatRoomTest.tell(new PotRoomProtocol.EnterPot(p1));
chatRoomTest.tell(new PotRoomProtocol.EnterPot(p2)); chatRoomTest.tell(new PotRoomProtocol.EnterPot(p2));
chatRoomTest.tell(new PotRoomProtocol.EnterPot(p3)); chatRoomTest.tell(new PotRoomProtocol.EnterPot(p3));
//chatRoomTest.tell(new PotRoomProtocol.EnterPot(testProbe.ref())); chatRoomTest.tell(new PotRoomProtocol.EnterPot(testProbe.ref()));
//Session started //Session started
testProbe.expectMessageClass(SessionEnded.class, Duration.ofSeconds(20)); testProbe.expectMessageClass(ParticipantProtocol.SessionGranted.class, Duration.ofSeconds(20));
testProbe.expectMessageClass(ParticipantProtocol.SessionStarted.class, Duration.ofSeconds(20));
} }