use of org.hyperledger.fabric.sdkintegration.SampleUser in project fabric-sdk-java by hyperledger.
the class HFCAClientIT method testUserRevoke.
// Tests attempting to re-enroll a revoked user
@Test
public void testUserRevoke() throws Exception {
thrown.expect(EnrollmentException.class);
thrown.expectMessage("Failed to re-enroll user");
// gets a calendar using the default time zone and locale.
Calendar calendar = Calendar.getInstance();
// avoid any clock skewing.
Date revokedTinyBitAgoTime = calendar.getTime();
SampleUser user = getTestUser(TEST_USER1_ORG);
if (!user.isRegistered()) {
RegistrationRequest rr = new RegistrationRequest(user.getName(), TEST_USER1_AFFILIATION);
String password = "testUserRevoke";
rr.setSecret(password);
rr.addAttribute(new Attribute("user.role", "department lead"));
rr.addAttribute(new Attribute(HFCAClient.HFCA_ATTRIBUTE_HFREVOKER, "true"));
// Admin can register other users.
user.setEnrollmentSecret(client.register(rr, admin));
if (!user.getEnrollmentSecret().equals(password)) {
fail("Secret returned from RegistrationRequest not match : " + user.getEnrollmentSecret());
}
}
if (!user.isEnrolled()) {
EnrollmentRequest req = new EnrollmentRequest(DEFAULT_PROFILE_NAME, "label 2", null);
req.addHost("example3.ibm.com");
user.setEnrollment(client.enroll(user.getName(), user.getEnrollmentSecret(), req));
// verify
String cert = user.getEnrollment().getCert();
verifyOptions(cert, req);
}
int startedWithRevokes = -1;
if (!testConfig.isRunningAgainstFabric10()) {
// prevent clock skewing. make sure we request started with revokes.
Thread.sleep(1000);
// one more after we do this revoke.
startedWithRevokes = getRevokes(null).length;
// prevent clock skewing. make sure we request started with revokes.
Thread.sleep(1000);
}
// revoke all enrollment of this user
client.revoke(admin, user.getName(), "revoke user 3");
if (!testConfig.isRunningAgainstFabric10()) {
final int newRevokes = getRevokes(null).length;
assertEquals(format("Expected one more revocation %d, but got %d", startedWithRevokes + 1, newRevokes), startedWithRevokes + 1, newRevokes);
// see if we can get right number of revokes that we started with by specifying the time: revokedTinyBitAgoTime
// TODO: Investigate clock scew
// final int revokestinybitago = getRevokes(revokedTinyBitAgoTime).length; //Should be same number when test case was started.
// assertEquals(format("Expected same revocations %d, but got %d", startedWithRevokes, revokestinybitago), startedWithRevokes, revokestinybitago);
}
// trying to reenroll the revoked user should fail with an EnrollmentException
client.reenroll(user);
}
use of org.hyperledger.fabric.sdkintegration.SampleUser in project fabric-sdk-java by hyperledger.
the class HFCAClientIT method testDeleteIdentityNotAllowed.
// Tests deleting an identity on CA that does not allow identity removal
@Test
public void testDeleteIdentityNotAllowed() throws Exception {
if (testConfig.isRunningAgainstFabric10()) {
// needs v1.1
return;
}
thrown.expectMessage("Identity removal is disabled");
SampleUser user = new SampleUser("testuser5", "org2", sampleStore);
HFCAClient client2 = HFCAClient.createNewInstance(testConfig.getIntegrationTestsSampleOrg(TEST_WITH_INTEGRATION_ORG2).getCALocation(), testConfig.getIntegrationTestsSampleOrg(TEST_WITH_INTEGRATION_ORG2).getCAProperties());
client2.setCryptoSuite(crypto);
// SampleUser can be any implementation that implements org.hyperledger.fabric.sdk.User Interface
SampleUser admin2 = sampleStore.getMember(TEST_ADMIN_NAME, "org2");
if (!admin2.isEnrolled()) {
// Preregistered admin only needs to be enrolled with Fabric CA.
admin2.setEnrollment(client2.enroll(admin.getName(), TEST_ADMIN_PW));
}
HFCAIdentity ident = client2.newHFCAIdentity(user.getName());
ident.create(admin2);
ident.delete(admin2);
}
use of org.hyperledger.fabric.sdkintegration.SampleUser in project fabric-sdk-java by hyperledger.
the class HFCAClientIT method testEnrollNoKeyPair.
@Test
public void testEnrollNoKeyPair() throws Exception {
thrown.expect(EnrollmentException.class);
thrown.expectMessage("Failed to enroll user");
SampleUser user = getEnrolledUser(TEST_ADMIN_ORG);
EnrollmentRequest req = new EnrollmentRequest(DEFAULT_PROFILE_NAME, "label 1", null);
req.setCsr("test");
client.enroll(user.getName(), user.getEnrollmentSecret(), req);
}
use of org.hyperledger.fabric.sdkintegration.SampleUser in project fabric-sdk-java by hyperledger.
the class HFCAClientIT method testRegisterAttributesDefault.
/**
* Test that we get default attributes.
*
* @throws Exception
*/
@Test
public void testRegisterAttributesDefault() throws Exception {
if (testConfig.isRunningAgainstFabric10()) {
// needs v1.1
return;
}
SampleUser user = new SampleUser("mrAttributesDefault", TEST_ADMIN_ORG, sampleStore);
RegistrationRequest rr = new RegistrationRequest(user.getName(), TEST_USER1_AFFILIATION);
String password = "mrAttributespassword";
rr.setSecret(password);
rr.addAttribute(new Attribute("testattr1", "mrAttributesValue1"));
rr.addAttribute(new Attribute("testattr2", "mrAttributesValue2"));
rr.addAttribute(new Attribute("testattrDEFAULTATTR", "mrAttributesValueDEFAULTATTR", true));
user.setEnrollmentSecret(client.register(rr, admin));
if (!user.getEnrollmentSecret().equals(password)) {
fail("Secret returned from RegistrationRequest not match : " + user.getEnrollmentSecret());
}
user.setEnrollment(client.enroll(user.getName(), user.getEnrollmentSecret()));
Enrollment enrollment = user.getEnrollment();
String cert = enrollment.getCert();
String certdec = getStringCert(cert);
assertTrue(format("Missing testattrDEFAULTATTR in certficate decoded: %s", certdec), certdec.contains("\"testattrDEFAULTATTR\":\"mrAttributesValueDEFAULTATTR\""));
// Since request and no attribute requests at all defaults should be in certificate.
assertFalse(format("Contains testattr1 in certificate decoded: %s", certdec), certdec.contains("\"testattr1\"") || certdec.contains("\"mrAttributesValue1\""));
assertFalse(format("Contains testattr2 in certificate decoded: %s", certdec), certdec.contains("\"testattr2\"") || certdec.contains("\"mrAttributesValue2\""));
}
use of org.hyperledger.fabric.sdkintegration.SampleUser in project fabric-sdk-java by hyperledger.
the class HFCAClientIT method testMockEnrollSuccessFalse.
@Test
public void testMockEnrollSuccessFalse() throws Exception {
thrown.expect(EnrollmentException.class);
thrown.expectMessage("failed enrollment for user");
MockHFCAClient mockClient = MockHFCAClient.createNewInstance(testConfig.getIntegrationTestsSampleOrg(TEST_WITH_INTEGRATION_ORG).getCALocation(), testConfig.getIntegrationTestsSampleOrg(TEST_WITH_INTEGRATION_ORG).getCAProperties());
mockClient.setCryptoSuite(crypto);
SampleUser user = getEnrolledUser(TEST_ADMIN_ORG);
mockClient.setHttpPostResponse("{\"success\":false}");
mockClient.enroll(user.getName(), user.getEnrollmentSecret());
}
Aggregations