def test_resources(self): name = "yopvc-{}".format(str(uuid.uuid4())) claim = _utils.create_pvc(name=name) resources = {'requests': {'storage': '100Gi'}} claim.resources = resources self.assertIsInstance(claim.resources, ResourceRequirements) self.assertEqual(resources, claim.resources.serialize())
def test_api_create_nfs(self): pvname = "yopv" pvcname = "yopvc" volname = "yovolume" podname = "yopod" contname = "yocontainer" pvtype = "nfs" pv = _utils.create_pv(name=pvname, type=pvtype) pv.nfs_server = "nfs.company.com" pv.nfs_path = "/fs1/test-nfs" pvc = _utils.create_pvc(name=pvcname) vol = _utils.create_volume(name=volname, type='persistentVolumeClaim') vol.claim_name = pvcname container = _utils.create_container(name=contname, image="nginx:latest") volmount = _utils.create_volume_mount(name=volname, mount_path='/test-persistent') container.add_volume_mount(volmount) pod = _utils.create_pod(name=podname) pod.add_volume(vol) pod.add_container(container) if _utils.is_reachable(pvc.config): try: pv.create() pvc.create() pod.create() self.assertIsInstance(pv, K8sPersistentVolume) self.assertIsInstance(pvc, K8sPersistentVolumeClaim) except Exception as err: self.assertIsInstance(err, TimedOutException)
def test_api_create_aws_ebs(self): pvname = "yopv" pvcname = "yopvc" volname = "yovolume" podname = "yopod" contname = "yocontainer" pvtype = "awsElasticBlockStore" pv = _utils.create_pv(name=pvname, type=pvtype) pv.volume_id = "vol-0e3056a2" pv.fs_type = "xfs" pvc = _utils.create_pvc(name=pvcname) vol = _utils.create_volume(name=volname, type='persistentVolumeClaim') vol.claim_name = pvcname container = _utils.create_container(name=contname, image="nginx:latest") volmount = _utils.create_volume_mount(name=volname, mount_path='/test-persistent') container.add_volume_mount(volmount) pod = _utils.create_pod(name=podname) pod.add_volume(vol) pod.add_container(container) if _utils.is_reachable(pvc.config): try: pv.create() pvc.create() pod.create() self.assertIsInstance(pv, K8sPersistentVolume) self.assertIsInstance(pvc, K8sPersistentVolumeClaim) except Exception as err: self.assertIsInstance(err, TimedOutException)
def test_api_create_gce_pd(self): pvname = "yopv" pvcname = "yopvc" volname = "yovolume" podname = "yopod" contname = "yocontainer" pvtype = "gcePersistentDisk" pv = _utils.create_pv(name=pvname, type=pvtype) pv.pd_name = "mnubo-disk1" pv.fs_type = "xfs" pvc = _utils.create_pvc(name=pvcname) vol = _utils.create_volume(name=volname, type="persistentVolumeClaim") vol.claim_name = pvcname container = _utils.create_container(name=contname, image="nginx:latest") volmount = _utils.create_volume_mount(name=volname, mount_path="/test-persistent") container.add_volume_mount(volmount) pod = _utils.create_pod(name=podname) pod.add_volume(vol) pod.add_container(container) if _utils.is_reachable(pvc.config): try: pv.create() pvc.create() pod.create() self.assertIsInstance(pv, K8sPersistentVolume) self.assertIsInstance(pvc, K8sPersistentVolumeClaim) except Exception as err: self.assertIsInstance(err, TimedOutException)
def test_resources_invalid(self): name = "yopvc-{}".format(str(uuid.uuid4())) claim = _utils.create_pvc(name=name) with self.assertRaises(SyntaxError): claim.resources = object() resources = {'cpu': '', 'memory': ''} claim.resources = resources self.assertNotEqual(resources, claim.resources)
def test_access_modes_invalid(self): name = "yopvc-{}".format(str(uuid.uuid4())) claim = _utils.create_pvc(name=name) with self.assertRaises(SyntaxError): claim.access_modes = object() modes = ['yomama'] claim.access_modes = modes self.assertNotEqual(modes, claim.access_modes)
def test_resources_none(self): name = "yopvc-{}".format(str(uuid.uuid4())) claim = _utils.create_pvc(name=name) with self.assertRaises(SyntaxError): claim.resources = None
def test_access_modes(self): name = "yopvc-{}".format(str(uuid.uuid4())) claim = _utils.create_pvc(name=name) modes = ['ReadWriteMany'] claim.access_modes = modes self.assertEqual(modes, claim.access_modes)
def test_init(self): name = "yopvc123" claim = _utils.create_pvc(name=name) self.assertIsInstance(claim, K8sPersistentVolumeClaim) self.assertEqual(claim.name, name)
def test_api_create_timeout(self): name = "yopvc-{}".format(str(uuid.uuid4())) claim = _utils.create_pvc(name=name) if _utils.is_reachable(claim.config): with self.assertRaises(TimedOutException): claim.create()