View Javadoc
1   package civitas.functionaltests;
2   
3   import static org.junit.jupiter.api.Assertions.assertEquals;
4   import static org.junit.jupiter.api.Assertions.assertTrue;
5   
6   import org.junit.jupiter.api.DisplayName;
7   import org.junit.jupiter.api.Tag;
8   import org.junit.jupiter.api.Test;
9   import org.junit.jupiter.api.extension.ExtendWith;
10  import org.springframework.beans.factory.annotation.Autowired;
11  import org.springframework.test.context.ContextConfiguration;
12  import org.springframework.test.context.junit.jupiter.SpringExtension;
13  
14  import civitas.AppTestConfig;
15  import civitas.crypto.CryptoBase;
16  import civitas.crypto.parameters.tests.ElGamalParametersTestData;
17  import civitas.util.CivitasBigInteger;
18  
19  @Tag("functional")
20  @ExtendWith(SpringExtension.class)
21  @ContextConfiguration(classes = AppTestConfig.class)
22  class ObtainProbablePrimeFunctionalTest implements ElGamalParametersTestData {
23  
24  	@Autowired
25  	CryptoBase cryptoBase;
26  
27  	@Test
28  	@DisplayName("obtain a probable prime with the given bit length, certainty and random generator")
29  	void test() {
30  		CivitasBigInteger p = cryptoBase.obtainProbablePrime(EL_GAMAL_KEY_LENGTH);
31  		assertTrue(p.isProbablePrime(CERTAINTY));
32  		assertEquals(EL_GAMAL_KEY_LENGTH, p.bitLength());
33  	}
34  }