package dslab; import dslab.authentication.User; import dslab.client.MessageClient; import dslab.nameserver.NameserverRemote; import dslab.protocol.Message; import dslab.routing.Address; import dslab.routing.Domain; import dslab.util.ComponentId; import dslab.util.Config; import java.net.InetSocketAddress; import java.util.List; import java.util.Map; import static java.util.Collections.emptyMap; public class TestObjects { public static Domain earthPlanet() { return new Domain("earth.planet"); } public static Domain univerZe() { return new Domain("univer.ze"); } public static Domain bsCom() { return new Domain("bs.com"); } public static final Address trillianAtEarthPlanet = new Address("trillian", earthPlanet()); public static final Address zaphodAtUniverZe = new Address("zaphod", univerZe()); public static final Address unknownAtBsCom = new Address("unknown", bsCom()); public static final Address arthurAtEarthPlanet = new Address("arthur", earthPlanet()); public static final User arthur = new User(arthurAtEarthPlanet, "12345"); public static final Address unknownAtEarthPlanet = new Address("unknown", earthPlanet()); public static NameserverRemote planetRemote() { return new NameserverRemote( "planet", emptyMap(), Map.of(new Domain("earth"), new InetSocketAddress("localhost", 123))); } public static NameserverRemote rootRemote() { return new NameserverRemote( new Domain(""), Map.of(new Domain("planet"), planetRemote())); } public static Control trillianClient() { var in = new TestInputStream(); var out = new TestOutputStream(); return new Control(new MessageClient("client-trillian", new Config("client-trillian"), in, out), in, out); } public static Control zaphodClient() { var in = new TestInputStream(); var out = new TestOutputStream(); return new Control(new MessageClient("client-zaphod", new Config("client-zaphod"), in, out), in, out); } public static Message message() { var message = new Message(); message.setSender(trillianAtEarthPlanet); message.setRecipients(List.of(arthurAtEarthPlanet, zaphodAtUniverZe)); message.setSubject("What's up?"); message.setData("I was just wondering if you want to have lunch on mars this afternoon. \n Greetings!"); return message; } public static ComponentFactory transferServerComponentFactory() { return new ComponentFactory(new ComponentId("transfer-1"),new Config("transfer-1")); } }