changeset 42:6e7ef7e95031

Some more tests and some more test data
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 14 Mar 2014 09:48:56 +0000 (2014-03-14)
parents 7055a79abe02
children 5910bf9016cd
files ui/tests/certlistparsertest.cpp ui/tests/certlistparsertest.h ui/tests/data/NOTES ui/tests/data/empty_file ui/tests/data/list-valid-other-signature.txt ui/tests/data/list-valid-sha1-signature.txt ui/tests/data/list-with-null.txt ui/tests/data/testkey-other.pem
diffstat 7 files changed, 85 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/ui/tests/certlistparsertest.cpp	Fri Mar 14 09:48:02 2014 +0000
+++ b/ui/tests/certlistparsertest.cpp	Fri Mar 14 09:48:56 2014 +0000
@@ -7,7 +7,6 @@
 {
     const char *fname = "list-valid-signed.txt";
     CertificateList *certList = testWithFile(fname);
-    printf("Status :%i\n ",certList->getStatus());
     QCOMPARE (certList->getStatus(), Valid);
     QVERIFY (certList->isValid());
     delete certList;
@@ -15,10 +14,15 @@
 
 void CertListTest::testInvalidSig()
 {
-    const char *fname = "list-invalid-signed.txt";
-    CertificateList *certList = testWithFile(fname);
-    QCOMPARE (certList->getStatus(), InvalidSignature);
-    delete certList;
+    const char *fnames[] = {"list-invalid-signed.txt",
+        "list-valid-other-signature.txt",
+        "list-valid-sha1-signature.txt",
+        NULL};
+    for (int i=0; fnames[i] != NULL; i++) {
+        CertificateList *certList = testWithFile(fnames[i]);
+        QCOMPARE (certList->getStatus(), InvalidSignature);
+        delete certList;
+    }
 }
 
 void verifyInvalidFile(const char *fName) {
@@ -36,12 +40,25 @@
     verifyInvalidFile("💩 ");
 }
 
+void CertListTest::testEmptyFile()
+{
+    const char *fname = "empty_file";
+    CertificateList *certList = testWithFile(fname);
+    printf("Status :%i\n ",certList->getStatus());
+    QCOMPARE (certList->getStatus(), UnknownError);
+    delete certList;
+}
+
 void CertListTest::testGarbage()
 {
-    const char *fname = "random_500KB";
-    CertificateList *certList = testWithFile(fname);
-    QCOMPARE (certList->getStatus(), InvalidFormat);
-    delete certList;
+    const char *fnames[] = {"random_500KB",
+        "list-with-null.txt",
+        NULL};
+    for (int i=0; fnames[i] != NULL; i++) {
+        CertificateList *certList = testWithFile(fnames[i]);
+        QCOMPARE (certList->getStatus(), InvalidFormat);
+        delete certList;
+    }
 }
 
 void CertListTest::testTooLarge()
--- a/ui/tests/certlistparsertest.h	Fri Mar 14 09:48:02 2014 +0000
+++ b/ui/tests/certlistparsertest.h	Fri Mar 14 09:48:56 2014 +0000
@@ -18,6 +18,7 @@
     void testInvalidFileNames();
     void testGarbage();
     void testTooLarge();
+    void testEmptyFile();
     void benchmarkValid();
 };
 #endif
--- a/ui/tests/data/NOTES	Fri Mar 14 09:48:02 2014 +0000
+++ b/ui/tests/data/NOTES	Fri Mar 14 09:48:56 2014 +0000
@@ -8,13 +8,19 @@
     Intevation-Email-CA-2013
     Intevation-Server-CA-2010
 
-Signature created with:
+Test files created with:
 
     echo -e S:$(openssl dgst -sha256 -sign testkey-priv.pem < list-valid.txt | base64 -w0)\\r > list-valid-signed.txt
     cat list-valid.txt >> list-valid-signed.txt
+    echo -e S:$(openssl dgst -sha256 -sign testkey-other.pem < list-valid.txt | base64 -w0)\\r > list-valid-other-signature.txt
+    cat list-valid.txt >> list-valid-other-signature.txt
+    echo -e S:$(openssl dgst -sha1 -sign testkey-other.pem < list-valid.txt | base64 -w0)\\r > list-valid-sha1-signature.txt
+    cat list-valid.txt >> list-valid-sha1-signature.txt
     cp list-valid-signed.txt list-invalid-signed.txt
     tail -1 list-valid.txt >> list-invalid-signed.txt
 
+# List with 0 created manually by placing a \0 in the signature
+
 Random Data generated with:
     openssl rand -out random_2MB 2000000
     openssl rand -out random_500k 500000
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/tests/data/list-valid-other-signature.txt	Fri Mar 14 09:48:56 2014 +0000
@@ -0,0 +1,6 @@
+S:ADh8SEoNJ/Np8RExHapM+usJuOhtWy6KNZEkLpNRxx0eW41SKD7ACBDM1yF8GqsCmYcA0Q9iNq4sTNbFu8ZqVPso2pdK11ES0/rvlxZChLFEMA5MMrXoaAJGGvhNb56cOOfTbvcRne2VFLna/ZReqae9n6Y/Gizj1Hmb2y+LLsIuKKStOMLUXX+/vfN9QAQApKP74EJwMvN3UhhNIUUOYrqHadwwVGNE2L75t8yZT+T55SwzJ4d0arohXr501hv3VAjxi/JiWeJC2dTEUgZBsYP0YGPLUIn6WMAjGR2PIE+rBYsl7zZJGQKmd2ZNKIK0PCsiDsozOr+qWTjIOOh4DCaZz7Jz45/esMExgwQkrxOFxhNE71Maue4MEzc6ILi4rp8t9IOOku19t0sdF+4P4RWeqf4FhcaqviroOTOFKt+PyZum58Zau1Q7kTpiILK6Cqr6GCs+036mtAXtkAmntRlwFLWlAnCJdlXuW0gAzG8ugXbEsLPszqwaJ5MO1zaL
+F:1
+D:1390230582
+I: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
+I:MIIEKjCCAxKgAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJERTEZMBcGA1UEChMQUEtJLTEtVmVyd2FsdHVuZzEcMBoGA1UEAxMTUENBLTEtVmVyd2FsdHVuZy0wODAeFw0wODEyMTAwOTI5MjVaFw0xNDEyMDkwOTI1MTBaMEYxCzAJBgNVBAYTAkRFMRkwFwYDVQQKExBQS0ktMS1WZXJ3YWx0dW5nMRwwGgYDVQQDExNQQ0EtMS1WZXJ3YWx0dW5nLTA4MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyprRwzyBTxbdAvEJovpeGdrHbdbhQLD85mlqo6M1Gq8XneZXM2BkCrCwPNmdZD3fFKyDxOKZRxRO7Ci6/hdmJ93dEed1Zl+3hxc4Vuh26tmanKDOQc29MG2tQ78lC9KZUJ6LxsptJyQqxohddgL35eGhmOHMZeLe6amuGKfN+xf3bmNTS1LMccGzGUPDQPyyuSR6rOOEnmAj1GBkmIp7Ej7o3EaevBrzzgCFk+Ud0Sa7/YfZaEoCGgwNj3xkGuKO9z0/8tMVvm8prcO3UrMpT1mCS+XpbPgsLXbup1UztiLLQqPCKT4j/alh4UPreF2QqPEC0Ozsff6NLXpTgJp7xwIDAQABo4IBITCCAR0wDwYDVR0TAQH/BAUwAwEB/zCBwgYDVR0fBIG6MIG3MGigZqBkhmJsZGFwOi8veDUwMC5idW5kLmRlL2NuJTNkUENBLTEtVmVyd2FsdHVuZy0wOCxvJTNkUEtJLTEtVmVyd2FsdHVuZyxjJTNkREU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDBLoEmgR4ZFaHR0cDovL3g1MDAuYnVuZC5kZS9jZ2ktYmluL3Nob3dfYXR0cj9jbj1QQ0EtMS1WZXJ3YWx0dW5nLTA4JmF0dHI9Y3JsMBYGA1UdIAQPMA0wCwYJKwYBBAG9dAEBMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUGqSv7SEV7MtOoKdAGE/HDa74OogwDQYJKoZIhvcNAQEFBQADggEBAHXHRdVvlLmBWw+iSBA1FQ3V21bYY7yqqGErieGS6bQfUZU70noOI/ZOQeM/DAFsa5xYDNc5FGIBomCMOQzFhLkUaSsojamSswrmVf4XMrenjCFxjOXg8aHiWMmHRCzSNgXn0FCT0j2FgELVDywgrZVZn6e07VkFI1vAEYtCdZHKVQV+0Y/m7XfI6JAT8USe/ikEuVdk7tzTS/78w7RnFQdDnPDfrjQh2dl6vWrD8QhGuw84Xxf/3zGlNfiPugD/ATswayWMJf5BrwMK2kYOzn+Rz3WJO98HEhtsvETlUvNt0MrJvolJGJz4sVVwfHb3LYEhsYu9krWoTznJk7UF2Jo=
+R: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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/tests/data/list-valid-sha1-signature.txt	Fri Mar 14 09:48:56 2014 +0000
@@ -0,0 +1,6 @@
+S:NnyceZNMLyLfxguUNGf2lk/sTb7H1SMriFxRPKxejChkAvzrtfK0hvg1tZaqrp+GgsOu+4UNkCLzprBSeQIJqDIhjEdo+Bqm6dOXTCU4ly0xJ8HsTsWc6MUNPT8TMM3paYJC33JSoGph8wPVeKHcU55DTFO68e3rB57GXv76EwJyEBclAE+/aRsO02vY5eeOctJdpv3VcwPoss93AVe5Mgy8DGamNuHRhvD62Ju5HtSEwAoVWj7fGKB4qTd2FiwVf6uF6ZkMo78eWns3HYn9gqUPo+ewbu2rN6yUp+VkvXH6yapWVh5qSgLHvsaaSWPUbVEeJz1NNyuel3GQyDxRSm9f3pP0yGEirdevMTBW5iQ6x6ZOFIkci0xdJNzT1zBJIUh3pdy9DVrZmbOtvLINF4YQ+aE/fAAYKcMsIPqr24fvIxxKh2rKn0LzZwHDJokVjR+A0F8mX9nyd0iwVoH1Hfp10c+anLQndVaeBDBzu8BKxSafS804Il6A7cNMZwvW
+F:1
+D:1390230582
+I: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
+I:MIIEKjCCAxKgAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJERTEZMBcGA1UEChMQUEtJLTEtVmVyd2FsdHVuZzEcMBoGA1UEAxMTUENBLTEtVmVyd2FsdHVuZy0wODAeFw0wODEyMTAwOTI5MjVaFw0xNDEyMDkwOTI1MTBaMEYxCzAJBgNVBAYTAkRFMRkwFwYDVQQKExBQS0ktMS1WZXJ3YWx0dW5nMRwwGgYDVQQDExNQQ0EtMS1WZXJ3YWx0dW5nLTA4MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyprRwzyBTxbdAvEJovpeGdrHbdbhQLD85mlqo6M1Gq8XneZXM2BkCrCwPNmdZD3fFKyDxOKZRxRO7Ci6/hdmJ93dEed1Zl+3hxc4Vuh26tmanKDOQc29MG2tQ78lC9KZUJ6LxsptJyQqxohddgL35eGhmOHMZeLe6amuGKfN+xf3bmNTS1LMccGzGUPDQPyyuSR6rOOEnmAj1GBkmIp7Ej7o3EaevBrzzgCFk+Ud0Sa7/YfZaEoCGgwNj3xkGuKO9z0/8tMVvm8prcO3UrMpT1mCS+XpbPgsLXbup1UztiLLQqPCKT4j/alh4UPreF2QqPEC0Ozsff6NLXpTgJp7xwIDAQABo4IBITCCAR0wDwYDVR0TAQH/BAUwAwEB/zCBwgYDVR0fBIG6MIG3MGigZqBkhmJsZGFwOi8veDUwMC5idW5kLmRlL2NuJTNkUENBLTEtVmVyd2FsdHVuZy0wOCxvJTNkUEtJLTEtVmVyd2FsdHVuZyxjJTNkREU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDBLoEmgR4ZFaHR0cDovL3g1MDAuYnVuZC5kZS9jZ2ktYmluL3Nob3dfYXR0cj9jbj1QQ0EtMS1WZXJ3YWx0dW5nLTA4JmF0dHI9Y3JsMBYGA1UdIAQPMA0wCwYJKwYBBAG9dAEBMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUGqSv7SEV7MtOoKdAGE/HDa74OogwDQYJKoZIhvcNAQEFBQADggEBAHXHRdVvlLmBWw+iSBA1FQ3V21bYY7yqqGErieGS6bQfUZU70noOI/ZOQeM/DAFsa5xYDNc5FGIBomCMOQzFhLkUaSsojamSswrmVf4XMrenjCFxjOXg8aHiWMmHRCzSNgXn0FCT0j2FgELVDywgrZVZn6e07VkFI1vAEYtCdZHKVQV+0Y/m7XfI6JAT8USe/ikEuVdk7tzTS/78w7RnFQdDnPDfrjQh2dl6vWrD8QhGuw84Xxf/3zGlNfiPugD/ATswayWMJf5BrwMK2kYOzn+Rz3WJO98HEhtsvETlUvNt0MrJvolJGJz4sVVwfHb3LYEhsYu9krWoTznJk7UF2Jo=
+R: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
Binary file ui/tests/data/list-with-null.txt has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/tests/data/testkey-other.pem	Fri Mar 14 09:48:56 2014 +0000
@@ -0,0 +1,39 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----

http://wald.intevation.org/projects/trustbridge/