Skip to content

Commit 2d911cb

Browse files
author
Steve Powell
committed
Merged in default.
2 parents 16f7b7b + 61ecf35 commit 2d911cb

File tree

7 files changed

+111
-59
lines changed

7 files changed

+111
-59
lines changed

codegen.py

Lines changed: 20 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -95,23 +95,21 @@ def java_field_name(name):
9595
def java_field_type(spec, domain):
9696
return javaTypeMap[spec.resolveDomain(domain)]
9797

98-
def java_field_default_value(type, value):
99-
val_map = {"value" : value}
100-
if type == 'int':
98+
def java_field_default_value(jtype, value):
99+
if jtype == 'int':
101100
return value
102-
elif type == 'boolean':
103-
bool_str = '%(value)s'% val_map
104-
return bool_str.lower()
105-
elif type == 'String':
106-
return '"%(value)s"' % val_map
107-
elif type == 'LongString':
108-
return 'LongStringHelper.asLongString("%(value)s")' % val_map
109-
elif type == 'long':
110-
return '%(value)sL' % val_map
111-
elif type == 'Map<String,Object>':
101+
elif jtype == 'boolean':
102+
return ('%s'% (value)).lower()
103+
elif jtype == 'String':
104+
return '"%s"' % (value)
105+
elif jtype == 'LongString':
106+
return 'LongStringHelper.asLongString("%s")' % (value)
107+
elif jtype == 'long':
108+
return '%sL' % (value)
109+
elif jtype == 'Map<String,Object>':
112110
return "null"
113111
else:
114-
raise BogusDefaultValue("JSON provided default value %(value)s for suspicious type %(type)s" % {"value" : value, "type" : type})
112+
raise BogusDefaultValue("JSON provided default value %s for suspicious type %s" % (value, jtype))
115113

116114
def typeNameDefault(spec, a):
117115
fieldType = java_field_type(spec, a.domain)
@@ -268,20 +266,12 @@ def printWritePropertiesTo(c):
268266
print " }"
269267

270268
def printAppendArgumentDebugStringTo(c):
271-
def appendValue(jField, jType):
272-
if jType == "String":
273-
return "this.%s" % (jField)
274-
else:
275-
return "String.valueOf(this.%s)" % (jField)
276-
277-
appendList = [ "%s=\")\n .append(%s)\n .append(\""
278-
% (f.name, appendValue(java_field_name(f.name), java_field_type(spec, f.domain)))
269+
appendList = [ "%s=\")\n .append(this.%s)\n .append(\""
270+
% (f.name, java_field_name(f.name))
279271
for f in c.fields ]
280272
print
281-
print " public void appendArgumentDebugStringTo(Appendable acc) {"
282-
print " try {"
283-
print " acc.append(\"(%s)\");" % (", ".join(appendList))
284-
print " } catch(IOException _) { }"
273+
print " public void appendArgumentDebugStringTo(StringBuilder acc) {"
274+
print " acc.append(\"(%s)\");" % (", ".join(appendList))
285275
print " }"
286276

287277
def printPropertiesBuilderClass(c):
@@ -487,21 +477,12 @@ def trueOrFalse(truthVal):
487477
return "false"
488478

489479
def argument_debug_string():
490-
def appendFieldValue(a):
491-
(jName, jType) = (java_field_name(a.name), java_field_type(spec, a.domain))
492-
if jType == "String":
493-
return "this.%s" % (jName)
494-
else:
495-
return "String.valueOf(this.%s)" % (jName)
496-
497-
appendList = [ "%s=\")\n .append(%s)\n .append(\""
498-
% (a.name, appendFieldValue(a))
480+
appendList = [ "%s=\")\n .append(this.%s)\n .append(\""
481+
% (a.name, java_field_name(a.name))
499482
for a in m.arguments ]
500483
print
501-
print " public void appendArgumentDebugStringTo(Appendable acc) {"
502-
print " try {"
503-
print " acc.append(\"(%s)\");" % ", ".join(appendList)
504-
print " } catch(IOException _) { }"
484+
print " public void appendArgumentDebugStringTo(StringBuilder acc) {"
485+
print " acc.append(\"(%s)\");" % ", ".join(appendList)
505486
print " }"
506487

507488
def write_arguments():

test/src/com/rabbitmq/client/test/functional/QosTests.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@
3535
import com.rabbitmq.client.QueueingConsumer;
3636
import com.rabbitmq.client.QueueingConsumer.Delivery;
3737

38-
import com.rabbitmq.client.Envelope;
39-
4038
public class QosTests extends BrokerTestCase
4139
{
4240

test/src/com/rabbitmq/client/test/functional/UnexpectedFrames.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,12 @@ private void expectUnexpectedFrameError(Confuser confuser)
145145
//NB: the frame confuser relies on the encoding of the
146146
//method field to be at least 8 bytes long
147147
channel.basicPublish("", "routing key", null, "Hello".getBytes());
148+
// TODO remove when bug 24086 is fixed.
149+
try {
150+
Thread.sleep(100);
151+
} catch (InterruptedException e) {
152+
e.printStackTrace();
153+
}
148154
expectError(AMQP.UNEXPECTED_FRAME);
149155
}
150156

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package com.rabbitmq.client.test.server;
2+
3+
import com.rabbitmq.client.GetResponse;
4+
import com.rabbitmq.client.test.BrokerTestCase;
5+
import com.rabbitmq.tools.Host;
6+
7+
import java.io.IOException;
8+
import java.util.List;
9+
import java.util.Map;
10+
11+
public class Firehose extends BrokerTestCase {
12+
private String q;
13+
private String firehose;
14+
15+
@Override
16+
protected void createResources() throws IOException {
17+
super.createResources();
18+
channel.exchangeDeclare("trace", "fanout", false, true, null);
19+
channel.exchangeDeclare("test", "fanout", false, true, null);
20+
q = channel.queueDeclare().getQueue();
21+
firehose = channel.queueDeclare().getQueue();
22+
channel.queueBind(q, "test", "");
23+
channel.queueBind(firehose, "trace", "");
24+
}
25+
26+
public void testFirehose() throws IOException {
27+
publishGet("not traced");
28+
enable();
29+
GetResponse msg = publishGet("traced");
30+
disable();
31+
publishGet("not traced");
32+
33+
GetResponse publish = basicGet(firehose);
34+
GetResponse deliver = basicGet(firehose);
35+
36+
assertNotNull(publish);
37+
assertNotNull(deliver);
38+
assertDelivered(firehose, 0);
39+
40+
// We don't test everything, that would be a bit OTT
41+
checkHeaders(publish.getProps().getHeaders());
42+
43+
Map<String,Object> delHeaders = deliver.getProps().getHeaders();
44+
checkHeaders(delHeaders);
45+
assertNotNull(delHeaders.get("redelivered"));
46+
47+
assertEquals(msg.getBody().length, publish.getBody().length);
48+
assertEquals(msg.getBody().length, deliver.getBody().length);
49+
}
50+
51+
private GetResponse publishGet(String key) throws IOException {
52+
basicPublishVolatile("test", key);
53+
return basicGet(q);
54+
}
55+
56+
private void checkHeaders(Map<String, Object> pubHeaders) {
57+
assertEquals("test", pubHeaders.get("exchange_name").toString());
58+
List<Object> routing_keys = (List<Object>) pubHeaders.get("routing_keys");
59+
assertEquals("traced", routing_keys.get(0).toString());
60+
}
61+
62+
private void enable() throws IOException {
63+
Host.rabbitmqctl("set_env trace_exchanges '[{<<\"/\">>, <<\"trace\">>}]'");
64+
}
65+
66+
private void disable() throws IOException {
67+
Host.rabbitmqctl("unset_env trace_exchanges");
68+
}
69+
}

test/src/com/rabbitmq/client/test/server/Permissions.java

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -65,28 +65,21 @@ protected void tearDown()
6565
protected void addRestrictedAccount()
6666
throws IOException
6767
{
68-
runCtl("add_user test test");
69-
runCtl("add_user testadmin test");
70-
runCtl("add_vhost /test");
71-
runCtl("set_permissions -p /test test configure write read");
72-
runCtl("set_permissions -p /test testadmin \".*\" \".*\" \".*\"");
68+
Host.rabbitmqctl("add_user test test");
69+
Host.rabbitmqctl("add_user testadmin test");
70+
Host.rabbitmqctl("add_vhost /test");
71+
Host.rabbitmqctl("set_permissions -p /test test configure write read");
72+
Host.rabbitmqctl("set_permissions -p /test testadmin \".*\" \".*\" \".*\"");
7373
}
7474

7575
protected void deleteRestrictedAccount()
7676
throws IOException
7777
{
78-
runCtl("clear_permissions -p /test testadmin");
79-
runCtl("clear_permissions -p /test test");
80-
runCtl("delete_vhost /test");
81-
runCtl("delete_user testadmin");
82-
runCtl("delete_user test");
83-
}
84-
85-
protected void runCtl(String command)
86-
throws IOException
87-
{
88-
Host.executeCommand("../rabbitmq-server/scripts/rabbitmqctl " +
89-
command);
78+
Host.rabbitmqctl("clear_permissions -p /test testadmin");
79+
Host.rabbitmqctl("clear_permissions -p /test test");
80+
Host.rabbitmqctl("delete_vhost /test");
81+
Host.rabbitmqctl("delete_user testadmin");
82+
Host.rabbitmqctl("delete_user test");
9083
}
9184

9285
protected void createResources()
@@ -241,7 +234,7 @@ public void testAltExchConfiguration()
241234
public void testNoAccess()
242235
throws IOException, InterruptedException
243236
{
244-
runCtl("set_permissions -p /test test \"\" \"\" \"\"");
237+
Host.rabbitmqctl("set_permissions -p /test test \"\" \"\" \"\"");
245238
Thread.sleep(2000);
246239

247240
expectExceptionRun(AMQP.ACCESS_REFUSED, new WithName() {

test/src/com/rabbitmq/client/test/server/ServerTests.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public static TestSuite suite() {
3030
suite.addTestSuite(AlternateExchangeEquivalence.class);
3131
suite.addTestSuite(MemoryAlarms.class);
3232
suite.addTest(PersisterRestartTests.suite());
33+
suite.addTestSuite(Firehose.class);
3334
return suite;
3435
}
3536
}

test/src/com/rabbitmq/tools/Host.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,4 +68,8 @@ public static void executeCommand(String command)
6868
"\nstderr:\n" + stderr + "\n");
6969
}
7070
}
71+
72+
public static void rabbitmqctl(String command) throws IOException {
73+
executeCommand("../rabbitmq-server/scripts/rabbitmqctl " + command);
74+
}
7175
}

0 commit comments

Comments
 (0)