DS-Lab / src / test / java / dslab / nameserver / NameserverRemoteTest.java
NameserverRemoteTest.java
Raw
package dslab.nameserver;

import org.junit.Test;

import java.util.List;

import static dslab.TestObjects.planetRemote;
import static org.junit.Assert.assertEquals;

public class NameserverRemoteTest {

    @Test
    public void returnsRegisteredNameserver() throws Exception {
        var root = new NameserverRemote("");
        var planet = new NameserverRemote("planet");

        root.registerNameserver(planet);

        assertEquals(planet, root.getNameserver(planet.getDomain().toString()));
    }

    @Test
    public void registersNameserverRecursively() throws Exception {
        var planet = new NameserverRemote("planet");
        var root = new NameserverRemote("", List.of(planet));

        var europePlanet = new NameserverRemote("europe.planet");

        root.registerNameserver(europePlanet);

        assertEquals(europePlanet, root.getNameserver("planet").getNameserver("europe"));
    }

    @Test
    public void returnsRegisteredMailboxServer() throws Exception {
        var planet = planetRemote();
        var address = "127.0.0.1:35";
        planet.registerMailboxServer("mars", address);
        assertEquals(address, planet.getMailboxServer("mars"));
    }

}