diff options
Diffstat (limited to 'src/test/java/pl/edu/mimuw/cloudatlas/agent/QuerySignerApiImplementationTest.java')
-rw-r--r-- | src/test/java/pl/edu/mimuw/cloudatlas/agent/QuerySignerApiImplementationTest.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/test/java/pl/edu/mimuw/cloudatlas/agent/QuerySignerApiImplementationTest.java b/src/test/java/pl/edu/mimuw/cloudatlas/agent/QuerySignerApiImplementationTest.java new file mode 100644 index 0000000..29d53d2 --- /dev/null +++ b/src/test/java/pl/edu/mimuw/cloudatlas/agent/QuerySignerApiImplementationTest.java @@ -0,0 +1,52 @@ +package pl.edu.mimuw.cloudatlas.agent; + +import org.junit.Test; +import pl.edu.mimuw.cloudatlas.querysigner.KeyUtils; +import pl.edu.mimuw.cloudatlas.querysigner.QueryData; +import pl.edu.mimuw.cloudatlas.querysigner.QuerySigner; +import pl.edu.mimuw.cloudatlas.querysigner.QuerySignerApiImplementation; + +import javax.crypto.BadPaddingException; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import java.io.IOException; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.security.PrivateKey; +import java.security.PublicKey; + +public class QuerySignerApiImplementationTest { + + @Test + public void testQueryInstallVerification() { + QuerySignerApiImplementation queryApi; + + try { + String publicKeyFile = "build/tmp/query_signer.pub"; + String privateKeyFile = "build/tmp/query_signer"; + PublicKey publicKey = KeyUtils.getPublicKey(publicKeyFile); + PrivateKey privateKey = KeyUtils.getPrivateKey(privateKeyFile); + queryApi = new QuerySignerApiImplementation(publicKey, privateKey); + QueryData signedQuery = queryApi.signInstallQuery("&a", "SELECT 1 AS ONE"); + QuerySignerApiImplementation.validateInstallQuery("&a", signedQuery, publicKey); + } catch (IOException | NoSuchPaddingException | NoSuchAlgorithmException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException | QuerySigner.InvalidQueryException e) { + e.printStackTrace(); + } + } + + @Test + public void testQueryUninstallVerification() { + QuerySignerApiImplementation queryApi; + try { + String publicKeyFile = "build/tmp/query_signer.pub"; + String privateKeyFile = "build/tmp/query_signer"; + PublicKey publicKey = KeyUtils.getPublicKey(publicKeyFile); + PrivateKey privateKey = KeyUtils.getPrivateKey(privateKeyFile); + queryApi = new QuerySignerApiImplementation(publicKey, privateKey); + QueryData signedQuery = queryApi.signUninstallQuery("&a"); + QuerySignerApiImplementation.validateUninstallQuery("&a", signedQuery, publicKey); + } catch (IOException | NoSuchPaddingException | NoSuchAlgorithmException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException | QuerySigner.InvalidQueryException e) { + e.printStackTrace(); + } + } +} |