def test_no_domains(self): """ When we have an app containing no domains, an empty list is returned. """ mlb_utils = MLBDomainUtils() apps = [mkapp("/my-app_1", group=None, HAPROXY_0_VHOST="example.com")] assert sorted(mlb_utils._apps_acme_domains(apps)) == []
def test_one_app_one_domain(self): """ When we have one app with one domain, just that domain is returned. """ mlb_utils = MLBDomainUtils() apps = [mkapp("/my-app_1", MARATHON_ACME_0_DOMAIN="example.com")] assert sorted(mlb_utils._apps_acme_domains(apps)) == ["example.com"]
def test_empty_domain(self): """ When we have an app containing an empty domain label, an empty list is returned. """ mlb_utils = MLBDomainUtils() apps = [mkapp("/my-app_1", MARATHON_ACME_0_DOMAIN="")] assert sorted(mlb_utils._apps_acme_domains(apps)) == []
def test_one_domain_when_multiple_disallowed(self): """ When we have a label containing one domain and we disallow multiple certs, the one domain is returned. """ mlb_utils = MLBDomainUtils(allow_multiple_certs=False) apps = [mkapp("/my-app_1", MARATHON_ACME_0_DOMAIN="example.com")] assert sorted(mlb_utils._apps_acme_domains(apps)) == ["example.com"]
def test_multiple_domains_in_one_label_when_disallowed(self): """ When we have a label containing multiple domains and we disallow multiple certs, only the first is returned. """ mlb_utils = MLBDomainUtils(allow_multiple_certs=False) apps = [mkapp("/my-app_1", MARATHON_ACME_0_DOMAIN="ex.com,ex2.com")] assert sorted(mlb_utils._apps_acme_domains(apps)) == ["ex.com"]
def test_multiple_domains_in_one_label(self): """ When we have a label containing multiple domains, all are returned. """ mlb_utils = MLBDomainUtils() apps = [mkapp("/my-app_1", MARATHON_ACME_0_DOMAIN="ex.com,ex2.com")] assert sorted(mlb_utils._apps_acme_domains(apps)) == [ "ex.com", "ex2.com", ]
def test_two_apps(self): """ When we have two apps, domains for both are returned. """ mlb_utils = MLBDomainUtils() apps = [ mkapp("/my-app_1", MARATHON_ACME_0_DOMAIN="example.com"), mkapp("/my-app_2", MARATHON_ACME_0_DOMAIN="example2.com"), ] assert sorted(mlb_utils._apps_acme_domains(apps)) == [ "example.com", "example2.com", ]
def test_port_group_mismatch(self): """ When we have an app containing a different group name for the only port with a domain, an empty list is returned. """ mlb_utils = MLBDomainUtils() apps = [ mkapp( "/my-app_1", HAPROXY_0_GROUP="internal", HAPROXY_0_VHOST="example.com", MARATHON_ACME_0_DOMAIN="example.com", ) ] assert sorted(mlb_utils._apps_acme_domains(apps)) == []
def test_one_app_two_domains(self): """ When we have one app with two domains, both domains are returned. """ mlb_utils = MLBDomainUtils() apps = [ mkapp( "/my-app_1", ports=[9000, 9001], MARATHON_ACME_0_DOMAIN="example.com", MARATHON_ACME_1_DOMAIN="example2.com", ) ] assert sorted(mlb_utils._apps_acme_domains(apps)) == [ "example.com", "example2.com", ]
def test_common_domains(self): """ When we have multiple common domains, all copies are returned. """ mlb_utils = MLBDomainUtils() apps = [ mkapp( "/my-app_1", ports=[9000, 9001], MARATHON_ACME_0_DOMAIN="example.com", MARATHON_ACME_1_DOMAIN="example.com", ), mkapp( "/my-app_2", ports=[8000], MARATHON_ACME_0_DOMAIN="example.com", ), ] assert sorted(mlb_utils._apps_acme_domains(apps)) == [ "example.com", "example.com", "example.com", ]