mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-14 19:59:05 +01:00
Removed subject line from wire format, added content type.
This commit is contained in:
@@ -70,7 +70,7 @@ public class ProtocolIntegrationTest extends BriarTestCase {
|
||||
private final Group group, group1;
|
||||
private final Message message, message1, message2, message3;
|
||||
private final String authorName = "Alice";
|
||||
private final String subject = "Hello";
|
||||
private final String contentType = "text/plain";
|
||||
private final String messageBody = "Hello world";
|
||||
private final Collection<MessageId> messageIds;
|
||||
private final TransportId transportId;
|
||||
@@ -107,16 +107,16 @@ public class ProtocolIntegrationTest extends BriarTestCase {
|
||||
// Create two messages to each group: one anonymous, one pseudonymous
|
||||
MessageFactory messageFactory = i.getInstance(MessageFactory.class);
|
||||
message = messageFactory.createAnonymousGroupMessage(null, group,
|
||||
subject, messageBody.getBytes("UTF-8"));
|
||||
contentType, messageBody.getBytes("UTF-8"));
|
||||
message1 = messageFactory.createAnonymousGroupMessage(null, group1,
|
||||
groupKeyPair.getPrivate(), subject,
|
||||
groupKeyPair.getPrivate(), contentType,
|
||||
messageBody.getBytes("UTF-8"));
|
||||
message2 = messageFactory.createPseudonymousMessage(null, group,
|
||||
author, authorKeyPair.getPrivate(), subject,
|
||||
author, authorKeyPair.getPrivate(), contentType,
|
||||
messageBody.getBytes("UTF-8"));
|
||||
message3 = messageFactory.createPseudonymousMessage(null, group1,
|
||||
groupKeyPair.getPrivate(), author, authorKeyPair.getPrivate(),
|
||||
subject, messageBody.getBytes("UTF-8"));
|
||||
contentType, messageBody.getBytes("UTF-8"));
|
||||
messageIds = Arrays.asList(message.getId(), message1.getId(),
|
||||
message2.getId(), message3.getId());
|
||||
// Create some transport properties
|
||||
|
||||
@@ -13,23 +13,26 @@ public class TestMessage implements Message {
|
||||
private final MessageId id, parent;
|
||||
private final Group group;
|
||||
private final Author author;
|
||||
private final String subject;
|
||||
private final String contentType, subject;
|
||||
private final long timestamp;
|
||||
private final byte[] raw;
|
||||
private final int bodyStart, bodyLength;
|
||||
|
||||
public TestMessage(MessageId id, MessageId parent, Group group,
|
||||
Author author, String subject, long timestamp, byte[] raw) {
|
||||
this(id, parent, group, author, subject, timestamp, raw, 0, raw.length);
|
||||
Author author, String contentType, String subject, long timestamp,
|
||||
byte[] raw) {
|
||||
this(id, parent, group, author, contentType, subject, timestamp, raw, 0,
|
||||
raw.length);
|
||||
}
|
||||
|
||||
public TestMessage(MessageId id, MessageId parent, Group group,
|
||||
Author author, String subject, long timestamp, byte[] raw,
|
||||
int bodyStart, int bodyLength) {
|
||||
Author author, String contentType, String subject, long timestamp,
|
||||
byte[] raw, int bodyStart, int bodyLength) {
|
||||
this.id = id;
|
||||
this.parent = parent;
|
||||
this.group = group;
|
||||
this.author = author;
|
||||
this.contentType = contentType;
|
||||
this.subject = subject;
|
||||
this.timestamp = timestamp;
|
||||
this.raw = raw;
|
||||
@@ -53,6 +56,10 @@ public class TestMessage implements Message {
|
||||
return author;
|
||||
}
|
||||
|
||||
public String getContentType() {
|
||||
return contentType;
|
||||
}
|
||||
|
||||
public String getSubject() {
|
||||
return subject;
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
|
||||
protected final AuthorId authorId;
|
||||
protected final Author author;
|
||||
protected final MessageId messageId, messageId1;
|
||||
protected final String subject;
|
||||
protected final String contentType, subject;
|
||||
protected final long timestamp;
|
||||
protected final int size;
|
||||
protected final byte[] raw;
|
||||
@@ -80,14 +80,15 @@ public abstract class DatabaseComponentTest extends BriarTestCase {
|
||||
author = new Author(authorId, "Alice", new byte[60]);
|
||||
messageId = new MessageId(TestUtils.getRandomId());
|
||||
messageId1 = new MessageId(TestUtils.getRandomId());
|
||||
contentType = "text/plain";
|
||||
subject = "Foo";
|
||||
timestamp = System.currentTimeMillis();
|
||||
size = 1234;
|
||||
raw = new byte[size];
|
||||
message = new TestMessage(messageId, null, group, author, subject,
|
||||
timestamp, raw);
|
||||
privateMessage = new TestMessage(messageId, null, null, null, subject,
|
||||
timestamp, raw);
|
||||
message = new TestMessage(messageId, null, group, author, contentType,
|
||||
subject, timestamp, raw);
|
||||
privateMessage = new TestMessage(messageId, null, null, null,
|
||||
contentType, subject, timestamp, raw);
|
||||
transportId = new TransportId(TestUtils.getRandomId());
|
||||
transportProperties = new TransportProperties(Collections.singletonMap(
|
||||
"foo", "bar"));
|
||||
|
||||
@@ -56,7 +56,7 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
private final AuthorId authorId;
|
||||
private final Author author;
|
||||
private final MessageId messageId, messageId1;
|
||||
private final String subject;
|
||||
private final String contentType, subject;
|
||||
private final long timestamp;
|
||||
private final int size;
|
||||
private final byte[] raw;
|
||||
@@ -73,15 +73,16 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
author = new Author(authorId, "Alice", new byte[60]);
|
||||
messageId = new MessageId(TestUtils.getRandomId());
|
||||
messageId1 = new MessageId(TestUtils.getRandomId());
|
||||
contentType = "text/plain";
|
||||
subject = "Foo";
|
||||
timestamp = System.currentTimeMillis();
|
||||
size = 1234;
|
||||
raw = new byte[size];
|
||||
random.nextBytes(raw);
|
||||
message = new TestMessage(messageId, null, group, author, subject,
|
||||
timestamp, raw);
|
||||
privateMessage = new TestMessage(messageId1, null, null, null,
|
||||
message = new TestMessage(messageId, null, group, author, contentType,
|
||||
subject, timestamp, raw);
|
||||
privateMessage = new TestMessage(messageId1, null, null, null,
|
||||
contentType, subject, timestamp, raw);
|
||||
transportId = new TransportId(TestUtils.getRandomId());
|
||||
contactId = new ContactId(1);
|
||||
contactName = "Alice";
|
||||
@@ -552,7 +553,7 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
Author author1 = new Author(authorId1, "Bob", new byte[60]);
|
||||
MessageId messageId1 = new MessageId(TestUtils.getRandomId());
|
||||
Message message1 = new TestMessage(messageId1, null, group, author1,
|
||||
subject, timestamp, raw);
|
||||
contentType, subject, timestamp, raw);
|
||||
Database<Connection> db = open(false);
|
||||
Connection txn = db.startTransaction();
|
||||
|
||||
@@ -584,12 +585,12 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
GroupId groupId1 = new GroupId(TestUtils.getRandomId());
|
||||
Group group1 = new Group(groupId1, "Group name", null);
|
||||
Message child1 = new TestMessage(childId1, messageId, group, author,
|
||||
subject, timestamp, raw);
|
||||
contentType, subject, timestamp, raw);
|
||||
Message child2 = new TestMessage(childId2, messageId, group, author,
|
||||
subject, timestamp, raw);
|
||||
contentType, subject, timestamp, raw);
|
||||
// The third child is in a different group
|
||||
Message child3 = new TestMessage(childId3, messageId, group1, author,
|
||||
subject, timestamp, raw);
|
||||
contentType, subject, timestamp, raw);
|
||||
Database<Connection> db = open(false);
|
||||
Connection txn = db.startTransaction();
|
||||
|
||||
@@ -620,7 +621,7 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
public void testGetOldMessages() throws Exception {
|
||||
MessageId messageId1 = new MessageId(TestUtils.getRandomId());
|
||||
Message message1 = new TestMessage(messageId1, null, group, author,
|
||||
subject, timestamp + 1000, raw);
|
||||
contentType, subject, timestamp + 1000, raw);
|
||||
Database<Connection> db = open(false);
|
||||
Connection txn = db.startTransaction();
|
||||
|
||||
@@ -651,7 +652,7 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
byte[] largeBody = new byte[ONE_MEGABYTE];
|
||||
for(int i = 0; i < largeBody.length; i++) largeBody[i] = (byte) i;
|
||||
Message message1 = new TestMessage(messageId, null, group, author,
|
||||
subject, timestamp, largeBody);
|
||||
contentType, subject, timestamp, largeBody);
|
||||
Database<Connection> db = open(false);
|
||||
|
||||
// Sanity check: there should be enough space on disk for this test
|
||||
@@ -1130,8 +1131,8 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
|
||||
// A message with no parent should return null
|
||||
MessageId childId = new MessageId(TestUtils.getRandomId());
|
||||
Message child = new TestMessage(childId, null, group, null, subject,
|
||||
timestamp, raw);
|
||||
Message child = new TestMessage(childId, null, group, null, contentType,
|
||||
subject, timestamp, raw);
|
||||
db.addGroupMessage(txn, child);
|
||||
assertTrue(db.containsMessage(txn, childId));
|
||||
assertNull(db.getGroupMessageParent(txn, childId));
|
||||
@@ -1152,7 +1153,7 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
MessageId childId = new MessageId(TestUtils.getRandomId());
|
||||
MessageId parentId = new MessageId(TestUtils.getRandomId());
|
||||
Message child = new TestMessage(childId, parentId, group, null,
|
||||
subject, timestamp, raw);
|
||||
contentType, subject, timestamp, raw);
|
||||
db.addGroupMessage(txn, child);
|
||||
assertTrue(db.containsMessage(txn, childId));
|
||||
assertFalse(db.containsMessage(txn, parentId));
|
||||
@@ -1178,9 +1179,9 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
MessageId childId = new MessageId(TestUtils.getRandomId());
|
||||
MessageId parentId = new MessageId(TestUtils.getRandomId());
|
||||
Message child = new TestMessage(childId, parentId, group, null,
|
||||
subject, timestamp, raw);
|
||||
contentType, subject, timestamp, raw);
|
||||
Message parent = new TestMessage(parentId, null, group1, null,
|
||||
subject, timestamp, raw);
|
||||
contentType, subject, timestamp, raw);
|
||||
db.addGroupMessage(txn, child);
|
||||
db.addGroupMessage(txn, parent);
|
||||
assertTrue(db.containsMessage(txn, childId));
|
||||
@@ -1203,7 +1204,7 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
// A message with a private parent should return null
|
||||
MessageId childId = new MessageId(TestUtils.getRandomId());
|
||||
Message child = new TestMessage(childId, messageId1, group, null,
|
||||
subject, timestamp, raw);
|
||||
contentType, subject, timestamp, raw);
|
||||
db.addGroupMessage(txn, child);
|
||||
db.addPrivateMessage(txn, privateMessage, contactId);
|
||||
assertTrue(db.containsMessage(txn, childId));
|
||||
@@ -1227,9 +1228,9 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
MessageId childId = new MessageId(TestUtils.getRandomId());
|
||||
MessageId parentId = new MessageId(TestUtils.getRandomId());
|
||||
Message child = new TestMessage(childId, parentId, group, null,
|
||||
subject, timestamp, raw);
|
||||
Message parent = new TestMessage(parentId, null, group, null, subject,
|
||||
timestamp, raw);
|
||||
contentType, subject, timestamp, raw);
|
||||
Message parent = new TestMessage(parentId, null, group, null,
|
||||
contentType, subject, timestamp, raw);
|
||||
db.addGroupMessage(txn, child);
|
||||
db.addGroupMessage(txn, parent);
|
||||
assertTrue(db.containsMessage(txn, childId));
|
||||
@@ -1252,9 +1253,9 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
// Store a couple of messages
|
||||
int bodyLength = raw.length - 20;
|
||||
Message message1 = new TestMessage(messageId, null, group, null,
|
||||
subject, timestamp, raw, 5, bodyLength);
|
||||
contentType, subject, timestamp, raw, 5, bodyLength);
|
||||
Message privateMessage1 = new TestMessage(messageId1, null, null,
|
||||
null, subject, timestamp, raw, 10, bodyLength);
|
||||
null, contentType, subject, timestamp, raw, 10, bodyLength);
|
||||
db.addGroupMessage(txn, message1);
|
||||
db.addPrivateMessage(txn, privateMessage1, contactId);
|
||||
|
||||
@@ -1294,7 +1295,7 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
MessageId parentId = new MessageId(TestUtils.getRandomId());
|
||||
long timestamp1 = System.currentTimeMillis();
|
||||
Message message1 = new TestMessage(messageId1, parentId, group, author,
|
||||
subject, timestamp1, raw);
|
||||
contentType, subject, timestamp1, raw);
|
||||
db.addGroupMessage(txn, message1);
|
||||
// Mark one of the messages read
|
||||
assertFalse(db.setReadFlag(txn, messageId, true));
|
||||
@@ -1352,6 +1353,7 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
assertEquals(m.getGroup().getId(), h.getGroupId());
|
||||
if(m.getAuthor() == null) assertNull(h.getAuthor());
|
||||
else assertEquals(m.getAuthor(), h.getAuthor());
|
||||
assertEquals(m.getContentType(), h.getContentType());
|
||||
assertEquals(m.getSubject(), h.getSubject());
|
||||
assertEquals(m.getTimestamp(), h.getTimestamp());
|
||||
}
|
||||
@@ -1423,13 +1425,13 @@ public class H2DatabaseTest extends BriarTestCase {
|
||||
db.addGroupMessage(txn, message);
|
||||
MessageId messageId1 = new MessageId(TestUtils.getRandomId());
|
||||
Message message1 = new TestMessage(messageId1, null, group, author,
|
||||
subject, timestamp, raw);
|
||||
contentType, subject, timestamp, raw);
|
||||
db.addGroupMessage(txn, message1);
|
||||
|
||||
// Store one message in the second group
|
||||
MessageId messageId2 = new MessageId(TestUtils.getRandomId());
|
||||
Message message2 = new TestMessage(messageId2, null, group1, author,
|
||||
subject, timestamp, raw);
|
||||
contentType, subject, timestamp, raw);
|
||||
db.addGroupMessage(txn, message2);
|
||||
|
||||
// Mark one of the messages in the first group read
|
||||
|
||||
@@ -8,7 +8,7 @@ import static net.sf.briar.api.messaging.MessagingConstants.MAX_PROPERTIES_PER_T
|
||||
import static net.sf.briar.api.messaging.MessagingConstants.MAX_PROPERTY_LENGTH;
|
||||
import static net.sf.briar.api.messaging.MessagingConstants.MAX_PUBLIC_KEY_LENGTH;
|
||||
import static net.sf.briar.api.messaging.MessagingConstants.MAX_SIGNATURE_LENGTH;
|
||||
import static net.sf.briar.api.messaging.MessagingConstants.MAX_SUBJECT_LENGTH;
|
||||
import static net.sf.briar.api.messaging.MessagingConstants.MAX_CONTENT_TYPE_LENGTH;
|
||||
import static net.sf.briar.api.messaging.MessagingConstants.MAX_SUBSCRIPTIONS;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
@@ -123,15 +123,16 @@ public class ConstantsTest extends BriarTestCase {
|
||||
crypto.generateSignatureKeyPair().getPrivate();
|
||||
PrivateKey authorPrivate =
|
||||
crypto.generateSignatureKeyPair().getPrivate();
|
||||
String subject = createRandomString(MAX_SUBJECT_LENGTH);
|
||||
String contentType = createRandomString(MAX_CONTENT_TYPE_LENGTH);
|
||||
byte[] body = new byte[MAX_BODY_LENGTH];
|
||||
Message message = messageFactory.createPseudonymousMessage(parent,
|
||||
group, groupPrivate, author, authorPrivate, subject, body);
|
||||
group, groupPrivate, author, authorPrivate, contentType, body);
|
||||
// Check the size of the serialised message
|
||||
int length = message.getSerialised().length;
|
||||
assertTrue(length > UniqueId.LENGTH + MAX_GROUP_NAME_LENGTH
|
||||
+ MAX_PUBLIC_KEY_LENGTH + MAX_AUTHOR_NAME_LENGTH
|
||||
+ MAX_PUBLIC_KEY_LENGTH + MAX_BODY_LENGTH);
|
||||
+ MAX_PUBLIC_KEY_LENGTH + MAX_CONTENT_TYPE_LENGTH
|
||||
+ MAX_BODY_LENGTH);
|
||||
assertTrue(length <= MAX_PACKET_LENGTH);
|
||||
}
|
||||
|
||||
|
||||
@@ -112,10 +112,10 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase {
|
||||
db.addEndpoint(ep);
|
||||
km.endpointAdded(ep, initialSecret.clone());
|
||||
// Send Bob a message
|
||||
String subject = "Hello";
|
||||
String contentType = "text/plain";
|
||||
byte[] body = "Hi Bob!".getBytes("UTF-8");
|
||||
MessageFactory messageFactory = alice.getInstance(MessageFactory.class);
|
||||
Message message = messageFactory.createPrivateMessage(null, subject,
|
||||
Message message = messageFactory.createPrivateMessage(null, contentType,
|
||||
body);
|
||||
db.addLocalPrivateMessage(message, contactId);
|
||||
// Create an outgoing simplex connection
|
||||
|
||||
Reference in New Issue
Block a user