package edu.berkeley.cs162;
import static org.junit.Assert.*;
import java.io.IOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import org.junit.Before;
import org.junit.Test;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class KVMessageTest {
KVMessage k;
@Before
public void setup() throws Exception {
k = new KVMessage("putreq");
k.setKey("I like pie");
k.setValue("I like cake");
}
@Test
public void test() throws Exception {
assertEquals(
k.toXML(),
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<KVMessage type=\"putreq\">\n<Key>I like pie</Key>\n<Value>I like cake</Value>\n</KVMessage>\n");
}
@Test
public void test2() throws Exception {
FakeSocket fake = new FakeSocket(k.toXML());
KVMessage q = new KVMessage(fake);
assertEquals(
q.toXML(),
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<KVMessage type=\"putreq\">\n<Key>I like pie</Key>\n<Value>I like cake</Value>\n</KVMessage>\n");
}
@Test
public void test1() throws Exception {
KVMessage a = new KVMessage("delreq");
a.setKey("Testing is a complete waste of my time! Hooray!");
assertEquals(a.toXML(), "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<KVMessage type=\"delreq\">\n<Key>Testing is a complete waste of my time! Hooray!</Key>\n</KVMessage>\n");
}
@Test
public void test3() throws Exception {
FakeSocket fake = new FakeSocket(k.toXML());
KVMessage q = new KVMessage(fake, 100);
assertEquals(
q.toXML(),
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<KVMessage type=\"putreq\">\n<Key>I like pie</Key>\n<Value>I like cake</Value>\n</KVMessage>\n");
}
@Test
public void test4() throws Exception {
FakeSocket fake = new FakeSocket(k.toXML());
try {
KVMessage q = new KVMessage(fake, 5);
} catch (KVException e) {
return;
}
assertTrue(false);
}
@Test
public void test5() throws Exception {
KVClient c = new KVClient("Testing is stupid!!!", 1);
c.ignoreNext();
c.put("Testing sucks", "I hate testing");
//will throw error if ignoreNext is broken since c not connected
}
}