-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDatastoreClientTestCase.java
More file actions
134 lines (106 loc) · 3.4 KB
/
DatastoreClientTestCase.java
File metadata and controls
134 lines (106 loc) · 3.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package utd.persistentDataStore.datastoreServer;
import static org.junit.Assert.*;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.List;
import java.util.Random;
import java.util.zip.CRC32;
import java.util.zip.Checksum;
import org.junit.Test;
import utd.persistentDataStore.datastoreClient.*;
public class DatastoreClientTestCase
{
int port = 10023;
String address = "localhost";
//String address = "ec2-35-166-187-119.us-west-2.compute.amazonaws.com";
private InetAddress getAddress() throws UnknownHostException
{
InetAddress inetAddress = InetAddress.getByName(address);
return inetAddress;
}
@Test
public void testWrite() throws Exception
{
InetAddress address = getAddress();
DatastoreClient dsClient = new DatastoreClientImpl(address, port);
byte data[] = generateData(100);
dsClient.write("testData", data);
}
@Test
public void testWrite2() throws Exception
{
InetAddress address = getAddress();
DatastoreClient dsClient = new DatastoreClientImpl(address, port);
byte data[] = generateData(100);
String fname = "testData " + String.valueOf(System.currentTimeMillis());
dsClient.write(fname, data);
}
@Test
public void testRead() throws Exception
{
InetAddress address = getAddress();
DatastoreClient dsClient = new DatastoreClientImpl(address, port);
byte dataOut[] = generateData(100);
dsClient.write("testData", dataOut);
byte dataIn[] = dsClient.read("testData");
assertEquals(100, dataIn.length);
Checksum dataOutChecksum = new CRC32();
dataOutChecksum.update(dataOut, 0, dataOut.length);
long checksumOut = dataOutChecksum.getValue();
Checksum dataInChecksum = new CRC32();
dataInChecksum.update(dataIn, 0, dataIn.length);
long checksumIn = dataInChecksum.getValue();
assertEquals(checksumOut, checksumIn);
}
/**
* Attempt to read named data that does not exist on the server. Expect a
* ClientException
*/
@Test(expected = ClientException.class)
public void testReadBroken() throws Exception
{
InetAddress address = getAddress();
DatastoreClient dsClient = new DatastoreClientImpl(address, port);
byte dataIn[] = dsClient.read("missingData");
}
@Test
public void testDelete() throws Exception
{
InetAddress address = getAddress();
DatastoreClient dsClient = new DatastoreClientImpl(address, port);
byte data[] = generateData(10);
dsClient.write("testData", data);
dsClient.delete("testData");
}
/**
* Attempt to delete named data that does not exist on the server. Expect a
* ClientException
*/
@Test(expected = ClientException.class)
public void testDeleteBroken() throws Exception
{
InetAddress address = getAddress();
DatastoreClient dsClient = new DatastoreClientImpl(address, port);
dsClient.delete("missingData");
}
@Test
public void testDirectory() throws Exception
{
InetAddress address = getAddress();
DatastoreClient dsClient = new DatastoreClientImpl(address, port);
byte data[] = generateData(10);
dsClient.write("testData", data);
List<String> names = dsClient.directory();
assertTrue(names.size() > 0);
for (String name : names) {
System.out.println(name);
}
}
private byte[] generateData(int size)
{
byte data[] = new byte[size];
Random random = new Random();
random.nextBytes(data);
return data;
}
}