Author: sebb
Date: Tue Jun 29 23:24:05 2010
New Revision: 959141
URL: http://svn.apache.org/viewvc?rev=959141&view=rev
Log:
Bug 38387 - Add SMIME Assertion
Add message position option
Modified:
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SMIMEAssertion.java
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SMIMEAssertionTestElement.java
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SMIMEAssertionGui.java
Modified:
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SMIMEAssertion.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SMIMEAssertion.java?rev=959141&r1=959140&r2=959141&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SMIMEAssertion.java
(original)
+++
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SMIMEAssertion.java
Tue Jun 29 23:24:05 2010
@@ -65,9 +65,16 @@ public class SMIMEAssertion {
public static AssertionResult getResult(SMIMEAssertionTestElement
testElement, SampleResult response, String name) {
checkForBouncycastle();
AssertionResult res = new AssertionResult(name);
-
try {
- MimeMessage msg = getMessageFromResponse(response, 0);
+ MimeMessage msg = null;
+ final int msgPos = testElement.getSpecificMessagePositionAsInt();
+ if (msgPos < 0){ // means counting from end
+ SampleResult subResults[] = response.getSubResults();
+ msg = getMessageFromResponse(response,subResults.length +
msgPos);
+ } else {
+ msg = getMessageFromResponse(response, msgPos);
+ }
+
SMIMESignedParser s = null;
if (msg.isMimeType("multipart/signed")) {
MimeMultipart multipart = (MimeMultipart) msg.getContent();
Modified:
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SMIMEAssertionTestElement.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SMIMEAssertionTestElement.java?rev=959141&r1=959140&r2=959141&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SMIMEAssertionTestElement.java
(original)
+++
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SMIMEAssertionTestElement.java
Tue Jun 29 23:24:05 2010
@@ -22,8 +22,6 @@ import java.io.Serializable;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.testelement.AbstractTestElement;
-import org.apache.jmeter.testelement.property.BooleanProperty;
-import org.apache.jmeter.testelement.property.StringProperty;
import org.apache.jmeter.util.JMeterUtils;
public class SMIMEAssertionTestElement extends AbstractTestElement implements
@@ -31,25 +29,19 @@ public class SMIMEAssertionTestElement e
private static final long serialVersionUID = 1L;
- private static final String VERIFY_SIGNATURE_KEY =
"SMIMEAssertionTestElement.verifySignature";
-
- private static final String NOT_SIGNED_KEY =
"SMIMEAssertionTestElement.notSigned";
-
- private static final String SIGNER_NO_CHECK_KEY =
"SMIMEAssertionTestElement.signerNoCheck";
-
- private static final String SIGNER_CHECK_BY_FILE_KEY =
"SMIMEAssertionTestElement.signerCheckByFile";
-
- private static final String SIGNER_CERT_FILE_KEY =
"SMIMEAssertionTestElement.signerCertFile";
-
- private static final String SINGER_CHECK_CONSTRAINTS_KEY =
"SMIMEAssertionTestElement.signerCheckConstraints";
-
- private static final String SIGNER_SERIAL_KEY =
"SMIMEAssertionTestElement.signerSerial";
-
- private static final String SIGNER_EMAIL_KEY =
"SMIMEAssertionTestElement.signerEmail";
-
- private static final String SIGNER_DN_KEY =
"SMIMEAssertionTestElement.signerDn";
-
- private static final String ISSUER_DN_KEY =
"SMIMEAssertionTestElement.issuerDn";
+ //+JMX file attributes - do not change values!
+ private static final String VERIFY_SIGNATURE_KEY =
"verifySignature"; // $NON-NLS-1$
+ private static final String NOT_SIGNED_KEY = "notSigned"; //
$NON-NLS-1$
+ private static final String SIGNER_NO_CHECK_KEY =
"signerNoCheck"; // $NON-NLS-1$
+ private static final String SIGNER_CHECK_BY_FILE_KEY =
"signerCheckByFile"; // $NON-NLS-1$
+ private static final String SIGNER_CERT_FILE_KEY =
"signerCertFile"; // $NON-NLS-1$
+ private static final String SINGER_CHECK_CONSTRAINTS_KEY =
"signerCheckConstraints"; // $NON-NLS-1$
+ private static final String SIGNER_SERIAL_KEY = "signerSerial";
// $NON-NLS-1$
+ private static final String SIGNER_EMAIL_KEY = "signerEmail";
// $NON-NLS-1$
+ private static final String SIGNER_DN_KEY = "signerDn"; //
$NON-NLS-1$
+ private static final String ISSUER_DN_KEY = "issuerDn"; //
$NON-NLS-1$
+ private static final String MESSAGE_POSITION =
"messagePosition"; // $NON-NLS-1$
+ //-JMX file attributes
public SMIMEAssertionTestElement() {
super();
@@ -72,7 +64,7 @@ public class SMIMEAssertionTestElement e
}
public void setVerifySignature(boolean verifySignature) {
- setProperty(new BooleanProperty(VERIFY_SIGNATURE_KEY,
verifySignature));
+ setProperty(VERIFY_SIGNATURE_KEY, verifySignature);
}
public String getIssuerDn() {
@@ -80,7 +72,7 @@ public class SMIMEAssertionTestElement e
}
public void setIssuerDn(String issuertDn) {
- setProperty(new StringProperty(ISSUER_DN_KEY, issuertDn));
+ setProperty(ISSUER_DN_KEY, issuertDn);
}
public boolean isSignerCheckByFile() {
@@ -88,8 +80,7 @@ public class SMIMEAssertionTestElement e
}
public void setSignerCheckByFile(boolean signerCheckByFile) {
- setProperty(new BooleanProperty(SIGNER_CHECK_BY_FILE_KEY,
- signerCheckByFile));
+ setProperty(SIGNER_CHECK_BY_FILE_KEY, signerCheckByFile);
}
public boolean isSignerCheckConstraints() {
@@ -97,8 +88,7 @@ public class SMIMEAssertionTestElement e
}
public void setSignerCheckConstraints(boolean signerCheckConstraints) {
- setProperty(new BooleanProperty(SINGER_CHECK_CONSTRAINTS_KEY,
- signerCheckConstraints));
+ setProperty(SINGER_CHECK_CONSTRAINTS_KEY, signerCheckConstraints);
}
public boolean isSignerNoCheck() {
@@ -106,7 +96,7 @@ public class SMIMEAssertionTestElement e
}
public void setSignerNoCheck(boolean signerNoCheck) {
- setProperty(new BooleanProperty(SIGNER_NO_CHECK_KEY, signerNoCheck));
+ setProperty(SIGNER_NO_CHECK_KEY, signerNoCheck);
}
public String getSignerCertFile() {
@@ -114,7 +104,7 @@ public class SMIMEAssertionTestElement e
}
public void setSignerCertFile(String signerCertFile) {
- setProperty(new StringProperty(SIGNER_CERT_FILE_KEY, signerCertFile));
+ setProperty(SIGNER_CERT_FILE_KEY, signerCertFile);
}
public String getSignerDn() {
@@ -122,7 +112,7 @@ public class SMIMEAssertionTestElement e
}
public void setSignerDn(String signerDn) {
- setProperty(new StringProperty(SIGNER_DN_KEY, signerDn));
+ setProperty(SIGNER_DN_KEY, signerDn);
}
public String getSignerSerial() {
@@ -130,7 +120,7 @@ public class SMIMEAssertionTestElement e
}
public void setSignerSerial(String signerSerial) {
- setProperty(new StringProperty(SIGNER_SERIAL_KEY, signerSerial));
+ setProperty(SIGNER_SERIAL_KEY, signerSerial);
}
public String getSignerEmail() {
@@ -138,7 +128,7 @@ public class SMIMEAssertionTestElement e
}
public void setSignerEmail(String signerEmail) {
- setProperty(new StringProperty(SIGNER_EMAIL_KEY, signerEmail));
+ setProperty(SIGNER_EMAIL_KEY, signerEmail);
}
public boolean isNotSigned() {
@@ -146,7 +136,18 @@ public class SMIMEAssertionTestElement e
}
public void setNotSigned(boolean notSigned) {
- setProperty(new BooleanProperty(NOT_SIGNED_KEY, notSigned));
+ setProperty(NOT_SIGNED_KEY, notSigned);
}
+ public String getSpecificMessagePosition() {
+ return getPropertyAsString(MESSAGE_POSITION);
+ }
+
+ public int getSpecificMessagePositionAsInt() {
+ return getPropertyAsInt(MESSAGE_POSITION, 0);
+ }
+
+ public void setSpecificMessagePosition(String position) {
+ setProperty(MESSAGE_POSITION, position);
+ }
}
Modified:
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SMIMEAssertionGui.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SMIMEAssertionGui.java?rev=959141&r1=959140&r2=959141&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SMIMEAssertionGui.java
(original)
+++
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SMIMEAssertionGui.java
Tue Jun 29 23:24:05 2010
@@ -40,25 +40,32 @@ import org.apache.jorphan.gui.layout.Ver
private static final long serialVersionUID = 1L;
- private JCheckBox verifySignature = new JCheckBox();
+ private final JCheckBox verifySignature =
+ new
JCheckBox(JMeterUtils.getResString("smime_assertion_verify_signature")); //
$NON-NLS-1$
- private JCheckBox notSigned = new JCheckBox();
+ private final JCheckBox notSigned =
+ new JCheckBox(JMeterUtils.getResString("smime_assertion_not_signed"));
// $NON-NLS-1$
- private JRadioButton signerNoCheck = new JRadioButton();
+ private final JRadioButton signerNoCheck =
+ new
JRadioButton(JMeterUtils.getResString("smime_assertion_signer_no_check")); //
$NON-NLS-1$
- private JRadioButton signerCheckConstraints = new JRadioButton();
+ private final JRadioButton signerCheckConstraints =
+ new
JRadioButton(JMeterUtils.getResString("smime_assertion_signer_constraints"));
// $NON-NLS-1$
- private JRadioButton signerCheckByFile = new JRadioButton();
+ private final JRadioButton signerCheckByFile =
+ new
JRadioButton(JMeterUtils.getResString("smime_assertion_signer_by_file")); //
$NON-NLS-1$
- private JTextField signerDnField = new JTextField();
+ private final JTextField signerDnField = new JTextField(25);
- private JTextField signerSerialNumberField = new JTextField();
+ private final JTextField signerSerialNumberField = new JTextField(25);
- private JTextField signerEmailField = new JTextField();
+ private final JTextField signerEmailField = new JTextField(25);
- private JTextField issuerDnField = new JTextField();
+ private final JTextField issuerDnField = new JTextField(25);
- private JTextField signerCertFile = new JTextField();
+ private final JTextField signerCertFile = new JTextField(25);
+
+ private final JTextField messagePositionTf = new JTextField(25);
public SMIMEAssertionGui() {
init();
@@ -76,19 +83,14 @@ import org.apache.jorphan.gui.layout.Ver
box.add(makeTitlePanel());
box.add(createSignaturePanel());
box.add(createSignerPanel());
+ box.add(createMessagePositionPanel());
add(box, BorderLayout.NORTH);
}
private JPanel createSignaturePanel() {
JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createTitledBorder(JMeterUtils
- .getResString("smime_assertion_signature")));
-
- verifySignature = new JCheckBox(JMeterUtils
- .getResString("smime_assertion_verify_signature"));
-
- notSigned = new JCheckBox(JMeterUtils
- .getResString("smime_assertion_not_signed"));
+ .getResString("smime_assertion_signature"))); // $NON-NLS-1$
notSigned.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
verifySignature.setEnabled(!notSigned.isSelected());
@@ -104,19 +106,10 @@ import org.apache.jorphan.gui.layout.Ver
private JPanel createSignerPanel() {
JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createTitledBorder(JMeterUtils
- .getResString("smime_assertion_signer")));
+ .getResString("smime_assertion_signer"))); // $NON-NLS-1$
panel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT));
- signerNoCheck = new JRadioButton(JMeterUtils
- .getResString("smime_assertion_signer_no_check"));
- signerCheckConstraints = new JRadioButton(JMeterUtils
- .getResString("smime_assertion_signer_constraints"));
- signerCheckByFile = new JRadioButton(JMeterUtils
- .getResString("smime_assertion_signer_by_file"));
-
- signerCertFile = new JTextField(25);
-
ButtonGroup buttonGroup = new ButtonGroup();
buttonGroup.add(signerNoCheck);
buttonGroup.add(signerCheckConstraints);
@@ -128,42 +121,32 @@ import org.apache.jorphan.gui.layout.Ver
signerCheckConstraints.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
signerDnField.setEnabled(signerCheckConstraints.isSelected());
- signerSerialNumberField.setEnabled(signerCheckConstraints
- .isSelected());
- signerEmailField
- .setEnabled(signerCheckConstraints.isSelected());
+
signerSerialNumberField.setEnabled(signerCheckConstraints.isSelected());
+
signerEmailField.setEnabled(signerCheckConstraints.isSelected());
issuerDnField.setEnabled(signerCheckConstraints.isSelected());
}
});
Box box = Box.createHorizontalBox();
- box.add(new JLabel(JMeterUtils
- .getResString("smime_assertion_signer_dn")));
+ box.add(new
JLabel(JMeterUtils.getResString("smime_assertion_signer_dn"))); // $NON-NLS-1$
box.add(Box.createHorizontalStrut(5));
- signerDnField = new JTextField(25);
box.add(signerDnField);
panel.add(box);
box = Box.createHorizontalBox();
- box.add(new JLabel(JMeterUtils
- .getResString("smime_assertion_signer_email")));
+ box.add(new
JLabel(JMeterUtils.getResString("smime_assertion_signer_email"))); //
$NON-NLS-1$
box.add(Box.createHorizontalStrut(5));
- signerEmailField = new JTextField(25);
box.add(signerEmailField);
panel.add(box);
box = Box.createHorizontalBox();
- box.add(new JLabel(JMeterUtils
- .getResString("smime_assertion_issuer_dn")));
+ box.add(new
JLabel(JMeterUtils.getResString("smime_assertion_issuer_dn"))); // $NON-NLS-1$
box.add(Box.createHorizontalStrut(5));
- issuerDnField = new JTextField(25);
box.add(issuerDnField);
panel.add(box);
box = Box.createHorizontalBox();
- box.add(new JLabel(JMeterUtils
- .getResString("smime_assertion_signer_serial")));
+ box.add(new
JLabel(JMeterUtils.getResString("smime_assertion_signer_serial"))); //
$NON-NLS-1$
box.add(Box.createHorizontalStrut(5));
- signerSerialNumberField = new JTextField(25);
box.add(signerSerialNumberField);
panel.add(box);
@@ -182,6 +165,13 @@ import org.apache.jorphan.gui.layout.Ver
return panel;
}
+ private JPanel createMessagePositionPanel(){
+ JPanel panel = new JPanel();
+ panel.setBorder(BorderFactory.createTitledBorder(JMeterUtils
+ .getResString("smime_assertion_message_position"))); // $NON-NLS-1$
+ panel.add(messagePositionTf);
+ return panel;
+ }
@Override
public void configure(TestElement el) {
super.configure(el);
@@ -189,12 +179,15 @@ import org.apache.jorphan.gui.layout.Ver
verifySignature.setSelected(smimeAssertion.isVerifySignature());
notSigned.setSelected(smimeAssertion.isNotSigned());
- if (smimeAssertion.isSignerNoCheck())
+ if (smimeAssertion.isSignerNoCheck()) {
signerNoCheck.setSelected(true);
- if (smimeAssertion.isSignerCheckConstraints())
+ }
+ if (smimeAssertion.isSignerCheckConstraints()) {
signerCheckConstraints.setSelected(true);
- if (smimeAssertion.isSignerCheckByFile())
+ }
+ if (smimeAssertion.isSignerCheckByFile()) {
signerCheckByFile.setSelected(true);
+ }
issuerDnField.setText(smimeAssertion.getIssuerDn());
signerDnField.setText(smimeAssertion.getSignerDn());
@@ -202,6 +195,7 @@ import org.apache.jorphan.gui.layout.Ver
signerEmailField.setText(smimeAssertion.getSignerEmail());
signerCertFile.setText(smimeAssertion.getSignerCertFile());
+ messagePositionTf.setText(smimeAssertion.getSpecificMessagePosition());
}
public void modifyTestElement(TestElement el) {
@@ -218,9 +212,9 @@ import org.apache.jorphan.gui.layout.Ver
smimeAssertion.setSignerCertFile(signerCertFile.getText());
smimeAssertion.setSignerNoCheck(signerNoCheck.isSelected());
- smimeAssertion.setSignerCheckConstraints(signerCheckConstraints
- .isSelected());
+
smimeAssertion.setSignerCheckConstraints(signerCheckConstraints.isSelected());
smimeAssertion.setSignerCheckByFile(signerCheckByFile.isSelected());
+ smimeAssertion.setSpecificMessagePosition(messagePositionTf.getText());
}
public TestElement createTestElement() {
@@ -229,4 +223,4 @@ import org.apache.jorphan.gui.layout.Ver
return smimeAssertion;
}
- }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]