mirror of
https://github.com/netzbegruenung/green-spider.git
synced 2024-04-26 06:20:06 +02:00
Marian Steinbach
618e29d763
* CLI: remove 'jobs' command, add 'manager' * Add job definition * Move jobs to manage folder * Rename jobs to manager * Add rq and redis dependencies * Add docker-compose YAML * Downgrade to alpine 3.8 * Adjust paths in Dockerfile, remove entrypoint * Rename 'make spiderjobs' to 'make jobs' * Fix docker exectution * Adapt 'make jobs' * Fix metadata scheme * Add docker dependency * Rendomize queue (a bit) * Use latest image, remove debug output * Make docker-compose file downwards-compatible * Use latest instead of dev image tag * Update docker-compose.yaml * Adapt job start script * Fix redis connection in manager * Add support for increasing timeout via environment variable * Adapt load_in_browser to cookies table schema change * Fix execution * Mitigate yaml warning * Bump some dependency versions * Report resource usage stats for each job * checks/load_in_browser: Return DOM size, prevent multiple page loads * Update .dockerignore * Code update * Script update * Update README.md * WIP * WIP commit * Update Dockerfile to alpine:edge and chromium v90 * Update TestCertificateChecker * Set defaults for __init__ function * Detect sunflower theme * Update unit test for new datetime (zero-basing) * Set logging prefs from Chromium in a new way * Move datastore client instantiation As it is not needed for all commands * Change green-directory repository URL * Add git settings for cloning green-directory * Pin alpine version 3.14, fix py3-cryptography * Use plain docker build progress output * Add volumes to 'make test' docker run command * Fix bug * Update example command in README * Update dependencies * Add creation of Kubernetes jobs
63 lines
2.3 KiB
Python
63 lines
2.3 KiB
Python
from checks import certificate
|
|
from checks.config import Config
|
|
|
|
import unittest
|
|
from pprint import pprint
|
|
|
|
class TestCertificateChecker(unittest.TestCase):
|
|
|
|
def test_google(self):
|
|
"""Load cert from a site that should work"""
|
|
url = 'https://www.google.com/'
|
|
config = Config(urls=[url])
|
|
checker = certificate.Checker(config=config, previous_results={})
|
|
result = checker.run()
|
|
self.assertIn(url, result)
|
|
self.assertIsNone(result[url]['exception'])
|
|
self.assertEqual(result[url]['issuer']['O'], 'Google Trust Services LLC')
|
|
|
|
def test_kaarst(self):
|
|
"""Real-workd example"""
|
|
url = 'https://www.gruenekaarst.de/'
|
|
config = Config(urls=[url])
|
|
checker = certificate.Checker(config=config, previous_results={})
|
|
result = checker.run()
|
|
self.assertIn(url, result)
|
|
self.assertIsNone(result[url]['exception'])
|
|
self.assertEqual(result[url]['issuer']['O'], 'DigiCert Inc')
|
|
|
|
def test_tls_v_1_0(self):
|
|
"""Load a certificate for a TLS v1.0 server"""
|
|
url = 'https://tls-v1-0.badssl.com:1010/'
|
|
config = Config(urls=[url])
|
|
checker = certificate.Checker(config=config, previous_results={})
|
|
result = checker.run()
|
|
self.assertIn(url, result)
|
|
self.assertIsNone(result[url]['exception'])
|
|
self.assertEqual(result[url]['subject']['CN'], '*.badssl.com')
|
|
|
|
def test_tls_v_1_1(self):
|
|
"""Load a certificate for a TLS v1.1 server"""
|
|
url = 'https://tls-v1-1.badssl.com:1011/'
|
|
config = Config(urls=[url])
|
|
checker = certificate.Checker(config=config, previous_results={})
|
|
result = checker.run()
|
|
self.assertIn(url, result)
|
|
self.assertIsNone(result[url]['exception'])
|
|
self.assertEqual(result[url]['subject']['CN'], '*.badssl.com')
|
|
|
|
def test_tls_v_1_2(self):
|
|
"""Load a certificate for a TLS v1.2 server"""
|
|
url = 'https://tls-v1-2.badssl.com:1012/'
|
|
config = Config(urls=[url])
|
|
checker = certificate.Checker(config=config, previous_results={})
|
|
result = checker.run()
|
|
self.assertIn(url, result)
|
|
self.assertIsNone(result[url]['exception'])
|
|
self.assertEqual(result[url]['subject']['CN'], '*.badssl.com')
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|