You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2023/06/20 20:36:02 UTC
[qpid-protonj2] branch main updated: PROTON-2739 Add some extra API for the Attach injection type
This is an automated email from the ASF dual-hosted git repository.
tabish pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-protonj2.git
The following commit(s) were added to refs/heads/main by this push:
new a1609a75 PROTON-2739 Add some extra API for the Attach injection type
a1609a75 is described below
commit a1609a750933b11764d4d6da0d469a2848b09b23
Author: Timothy Bish <ta...@gmail.com>
AuthorDate: Tue Jun 20 16:21:38 2023 -0400
PROTON-2739 Add some extra API for the Attach injection type
Allows for simpler test writing where the API names provide the values
for enumeration types and string / symbol entries.
---
.../test/driver/actions/AttachInjectAction.java | 100 +++++++++++++++++++++
1 file changed, 100 insertions(+)
diff --git a/protonj2-test-driver/src/main/java/org/apache/qpid/protonj2/test/driver/actions/AttachInjectAction.java b/protonj2-test-driver/src/main/java/org/apache/qpid/protonj2/test/driver/actions/AttachInjectAction.java
index 2ced891c..3914edd9 100644
--- a/protonj2-test-driver/src/main/java/org/apache/qpid/protonj2/test/driver/actions/AttachInjectAction.java
+++ b/protonj2-test-driver/src/main/java/org/apache/qpid/protonj2/test/driver/actions/AttachInjectAction.java
@@ -23,6 +23,10 @@ import java.util.UUID;
import org.apache.qpid.protonj2.test.driver.AMQPTestDriver;
import org.apache.qpid.protonj2.test.driver.SessionTracker;
+import org.apache.qpid.protonj2.test.driver.codec.messaging.DeleteOnClose;
+import org.apache.qpid.protonj2.test.driver.codec.messaging.DeleteOnNoLinks;
+import org.apache.qpid.protonj2.test.driver.codec.messaging.DeleteOnNoLinksOrMessages;
+import org.apache.qpid.protonj2.test.driver.codec.messaging.DeleteOnNoMessages;
import org.apache.qpid.protonj2.test.driver.codec.messaging.Outcome;
import org.apache.qpid.protonj2.test.driver.codec.messaging.Source;
import org.apache.qpid.protonj2.test.driver.codec.messaging.Target;
@@ -372,11 +376,39 @@ public class AttachInjectAction extends AbstractPerformativeInjectAction<Attach>
return this;
}
+ public SourceBuilder withDurabilityOfNone() {
+ return withDurability(TerminusDurability.NONE);
+ }
+
+ public SourceBuilder withDurabilityOfConfiguration() {
+ return withDurability(TerminusDurability.CONFIGURATION);
+ }
+
+ public SourceBuilder withDurabilityOfUnsettledState() {
+ return withDurability(TerminusDurability.UNSETTLED_STATE);
+ }
+
public SourceBuilder withDurability(TerminusDurability durability) {
source.setDurable(durability.getValue());
return this;
}
+ public SourceBuilder withExpiryPolicyOnConnectionClose() {
+ return withExpiryPolicy(TerminusExpiryPolicy.CONNECTION_CLOSE);
+ }
+
+ public SourceBuilder withExpiryPolicyOnSessionEnd() {
+ return withExpiryPolicy(TerminusExpiryPolicy.SESSION_END);
+ }
+
+ public SourceBuilder withExpiryPolicyOnLinkDetach() {
+ return withExpiryPolicy(TerminusExpiryPolicy.LINK_DETACH);
+ }
+
+ public SourceBuilder withExpiryPolicyOfNever() {
+ return withExpiryPolicy(TerminusExpiryPolicy.NEVER);
+ }
+
public SourceBuilder withExpiryPolicy(TerminusExpiryPolicy expiryPolicy) {
source.setExpiryPolicy(expiryPolicy.getPolicy());
return this;
@@ -430,6 +462,30 @@ public class AttachInjectAction extends AbstractPerformativeInjectAction<Attach>
return this;
}
+ public SourceBuilder withLifetimePolicyOfDeleteOnClose() {
+ return withDynamicNodeProperty("lifetime-policy", new DeleteOnClose());
+ }
+
+ public SourceBuilder withLifetimePolicyOfDeleteOnNoLinks() {
+ return withDynamicNodeProperty("lifetime-policy", new DeleteOnNoLinks());
+ }
+
+ public SourceBuilder withLifetimePolicyOfDeleteOnNoLinksOrMessages() {
+ return withDynamicNodeProperty("lifetime-policy", new DeleteOnNoLinksOrMessages());
+ }
+
+ public SourceBuilder withLifetimePolicyOfDeleteOnNoNoMessages() {
+ return withDynamicNodeProperty("lifetime-policy", new DeleteOnNoMessages());
+ }
+
+ public SourceBuilder withDistributionModeOfCopy() {
+ return withDistributionMode("COPY");
+ }
+
+ public SourceBuilder withDistributionModeOfMove() {
+ return withDistributionMode("MOVE");
+ }
+
public SourceBuilder withDistributionMode(String mode) {
source.setDistributionMode(Symbol.valueOf(mode));
return this;
@@ -502,11 +558,39 @@ public class AttachInjectAction extends AbstractPerformativeInjectAction<Attach>
return this;
}
+ public TargetBuilder withDurabilityOfNone() {
+ return withDurability(TerminusDurability.NONE);
+ }
+
+ public TargetBuilder withDurabilityOfConfiguration() {
+ return withDurability(TerminusDurability.CONFIGURATION);
+ }
+
+ public TargetBuilder withDurabilityOfUnsettledState() {
+ return withDurability(TerminusDurability.UNSETTLED_STATE);
+ }
+
public TargetBuilder withDurability(TerminusDurability durability) {
target.setDurable(durability.getValue());
return this;
}
+ public TargetBuilder withExpiryPolicyOnConnectionClose() {
+ return withExpiryPolicy(TerminusExpiryPolicy.CONNECTION_CLOSE);
+ }
+
+ public TargetBuilder withExpiryPolicyOnSessionEnd() {
+ return withExpiryPolicy(TerminusExpiryPolicy.SESSION_END);
+ }
+
+ public TargetBuilder withExpiryPolicyOnLinkDetach() {
+ return withExpiryPolicy(TerminusExpiryPolicy.LINK_DETACH);
+ }
+
+ public TargetBuilder withExpiryPolicyOfNever() {
+ return withExpiryPolicy(TerminusExpiryPolicy.NEVER);
+ }
+
public TargetBuilder withExpiryPolicy(TerminusExpiryPolicy expiryPolicy) {
target.setExpiryPolicy(expiryPolicy.getPolicy());
return this;
@@ -560,6 +644,22 @@ public class AttachInjectAction extends AbstractPerformativeInjectAction<Attach>
return this;
}
+ public TargetBuilder withLifetimePolicyOfDeleteOnClose() {
+ return withDynamicNodeProperty("lifetime-policy", new DeleteOnClose());
+ }
+
+ public TargetBuilder withLifetimePolicyOfDeleteOnNoLinks() {
+ return withDynamicNodeProperty("lifetime-policy", new DeleteOnNoLinks());
+ }
+
+ public TargetBuilder withLifetimePolicyOfDeleteOnNoLinksOrMessages() {
+ return withDynamicNodeProperty("lifetime-policy", new DeleteOnNoLinksOrMessages());
+ }
+
+ public TargetBuilder withLifetimePolicyOfDeleteOnNoNoMessages() {
+ return withDynamicNodeProperty("lifetime-policy", new DeleteOnNoMessages());
+ }
+
public TargetBuilder withCapabilities(String... capabilities) {
target.setCapabilities(TypeMapper.toSymbolArray(capabilities));
return this;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org