1515package org .hyperledger .fabric_ca .sdk ;
1616
1717import java .security .KeyPair ;
18+
19+ import org .hyperledger .fabric_ca .sdk .exception .InvalidArgumentException ;
1820import org .junit .Assert ;
21+ import org .junit .Rule ;
1922import org .junit .Test ;
23+ import org .junit .rules .ExpectedException ;
24+
25+ import static org .junit .Assert .assertFalse ;
26+ import static org .junit .Assert .assertNotNull ;
27+ import static org .junit .Assert .assertTrue ;
2028
2129public class EnrollmentRequestTest {
30+ @ Rule
31+ public ExpectedException thrown = ExpectedException .none ();
32+
2233 private static final String caName = "certsInc" ;
2334 private static final String csr = "11436845810603" ;
2435 private static final String profile = "test profile" ;
@@ -31,7 +42,7 @@ public void testNewInstanceEmpty() {
3142 try {
3243 EnrollmentRequest testEnrollReq = new EnrollmentRequest ();
3344 Assert .assertNull (testEnrollReq .getCsr ());
34- Assert . assertTrue (testEnrollReq .getHosts ().isEmpty ());
45+ assertTrue (testEnrollReq .getHosts ().isEmpty ());
3546 Assert .assertNull (testEnrollReq .getProfile ());
3647 Assert .assertNull (testEnrollReq .getLabel ());
3748 Assert .assertNull (testEnrollReq .getKeyPair ());
@@ -47,7 +58,7 @@ public void testNewInstanceParms() {
4758 try {
4859 EnrollmentRequest testEnrollReq = new EnrollmentRequest (profile , label , keyPair );
4960 Assert .assertNull (testEnrollReq .getCsr ());
50- Assert . assertTrue (testEnrollReq .getHosts ().isEmpty ());
61+ assertTrue (testEnrollReq .getHosts ().isEmpty ());
5162 Assert .assertEquals (testEnrollReq .getProfile (), profile );
5263 Assert .assertEquals (testEnrollReq .getLabel (), label );
5364 Assert .assertNull (testEnrollReq .getKeyPair ());
@@ -65,13 +76,13 @@ public void testEnrollReqSetGet() {
6576 testEnrollReq .addHost ("d.com" );
6677 testEnrollReq .setCsr (csr );
6778 testEnrollReq .setCSR (csr ); // Unsure why there are two methods that
68- // set csr
79+ // set csr
6980 testEnrollReq .setProfile (profile );
7081 testEnrollReq .setLabel (label );
7182 testEnrollReq .setKeyPair (null );
7283 testEnrollReq .setCAName (caName );
7384 Assert .assertEquals (testEnrollReq .getCsr (), csr );
74- Assert . assertTrue (testEnrollReq .getHosts ().contains ("d.com" ));
85+ assertTrue (testEnrollReq .getHosts ().contains ("d.com" ));
7586 Assert .assertEquals (testEnrollReq .getProfile (), profile );
7687 Assert .assertEquals (testEnrollReq .getLabel (), label );
7788 Assert .assertNull (testEnrollReq .getKeyPair ());
@@ -94,10 +105,69 @@ public void testEnrollReqToJson() {
94105 testEnrollReq .setKeyPair (null );
95106 testEnrollReq .setCAName (caName );
96107
97- Assert . assertTrue (testEnrollReq .toJson ().contains (csr ));
108+ assertTrue (testEnrollReq .toJson ().contains (csr ));
98109
99110 } catch (Exception e ) {
100111 Assert .fail ("Unexpected Exception " + e .getMessage ());
101112 }
102113 }
114+
115+ @ Test
116+ public void testEnrollReqToJsonAttr () throws Exception {
117+
118+ EnrollmentRequest testEnrollReq = new EnrollmentRequest ();
119+ testEnrollReq .addHost ("d.com" );
120+ testEnrollReq .setCsr (csr );
121+ testEnrollReq .setProfile (profile );
122+ testEnrollReq .setLabel (label );
123+ testEnrollReq .setKeyPair (null );
124+ testEnrollReq .setCAName (caName );
125+ testEnrollReq .addAttrReq ("foo" );
126+ testEnrollReq .addAttrReq ("foorequired" ).setRequire (true );
127+ testEnrollReq .addAttrReq ("foofalse" ).setRequire (false );
128+
129+ String s = testEnrollReq .toJson ();
130+ assertNotNull (s );
131+ assertTrue (s .contains ("\" attr_reqs\" :[" ));
132+ assertTrue (s .contains ("\" name\" :\" foorequired\" ,\" require\" :true" ));
133+ assertTrue (s .contains ("\" name\" :\" foofalse\" ,\" require\" :false" ));
134+
135+ }
136+
137+ @ Test
138+ public void testEnrollReqToJsonAttrNotThere () throws Exception {
139+
140+ EnrollmentRequest testEnrollReq = new EnrollmentRequest ();
141+ testEnrollReq .addHost ("d.com" );
142+ testEnrollReq .setCsr (csr );
143+ testEnrollReq .setProfile (profile );
144+ testEnrollReq .setLabel (label );
145+ testEnrollReq .setKeyPair (null );
146+ testEnrollReq .setCAName (caName );
147+
148+ String s = testEnrollReq .toJson ();
149+ assertNotNull (s );
150+ assertFalse (s .contains ("\" attr_reqs\" :[" ));
151+ }
152+
153+ @ Test
154+ public void testEnrollReqToJsonAttrNullName () throws Exception {
155+ thrown .expect (InvalidArgumentException .class );
156+ thrown .expectMessage ("name may not be null or empty." );
157+
158+ EnrollmentRequest testEnrollReq = new EnrollmentRequest ();
159+ testEnrollReq .addAttrReq (null );
160+
161+ }
162+
163+ @ Test
164+ public void testEnrollReqToJsonAttrEmptyName () throws Exception {
165+ thrown .expect (InvalidArgumentException .class );
166+ thrown .expectMessage ("name may not be null or empty." );
167+
168+ EnrollmentRequest testEnrollReq = new EnrollmentRequest ();
169+ testEnrollReq .addAttrReq ("" );
170+
171+ }
172+
103173}
0 commit comments