def test_refuse_snapof_when_no_brand_native_capability( provision_zone, svc): zone = ContainerZone(rid='container#1', snapof='something') zone.svc = svc provisioned = zone.provisioner(need_boot=False) assert provisioned is False assert provision_zone.call_count == 0
def test_return_false_when_mixing_container_origin_and_snapof( provision_zone, svc): zone = ContainerZone(rid='container#1', snapof='something', container_origin='skel') zone.svc = svc provisioned = zone.provisioner() assert provisioned is False assert provision_zone.call_count == 0
def test_create_origin_then_provision_zone_when_container_origin( create_container_origin, provision_zone, svc): zone = ContainerZone(rid='container#1', container_origin='skelzone') zone.svc = svc provisioned = zone.provisioner(need_boot=False) assert provisioned is True assert create_container_origin.call_count == 1 assert provision_zone.call_count == 1
def test_create_correct_zone( svc, klass_has_capability, set_zone_data, zonecfg, brand, zonepath, expected_zonecfg_cmd): # noinspection PyUnusedLocal def zonecfg_side_effect(*args, **kwargs): set_zone_data(brand=brand, zonepath=zonepath) if brand == 'native': klass_has_capability(ContainerZone, ['container.zone.brand-native']) else: klass_has_capability(ContainerZone, ['container.zone.brand-solaris', 'container.zone.brand-solaris10']) zone = ContainerZone(rid='container#1', name='z1', brand=brand, zonepath=zonepath) zone.svc = Svc(name='svc1', volatile=True) zonecfg.side_effect = zonecfg_side_effect zone.zone_configure() zonecfg.assert_called_once_with([expected_zonecfg_cmd])
def test_fallback_to_none(svc): zone = ContainerZone(rid='container#1') zone.svc = svc assert zone.zonepath is None
def zone(svc): zone = ContainerZone(rid='container#1', name='zonex', zonepath='/z/zonepath_kw') zone.svc = svc return zone