def test_hdfs_cloud_replication_crud(self): service = ApiService(self.resource, 'hdfs1', 'HDFS') service.__dict__['clusterRef'] = ApiClusterRef(self.resource, clusterName='cluster1') hdfs_args = ApiHdfsCloudReplicationArguments(self.resource) hdfs_args.sourceService = ApiServiceRef('cluster2', 'hdfs2') hdfs_args.sourcePath = '/src' hdfs_args.destinationPath = 's3a://somebucket/dst' hdfs_args.destinationAccount = 'someTestAccount' return_sched = ApiReplicationSchedule(self.resource, interval=2, intervalUnit='DAY') return_sched.hdfsCloudArguments = hdfs_args return_sched.__dict__['id'] = 1 return_list = ApiList([return_sched]).to_json_dict() self.resource.expect("POST", "/clusters/cluster1/services/hdfs1/replications", retdata=return_list) sched = service.create_replication_schedule(None, None, 'DAY', 2, True, hdfs_args, alert_on_fail=True) self.assertEqual(return_sched.intervalUnit, sched.intervalUnit) self.assertEqual(return_sched.interval, sched.interval) self.assertIsInstance(sched.hdfsCloudArguments, ApiHdfsCloudReplicationArguments) self.resource.expect("GET", "/clusters/cluster1/services/hdfs1/replications", retdata=return_list) service.get_replication_schedules() self.resource.expect( "GET", "/clusters/cluster1/services/hdfs1/replications/1", retdata=return_sched.to_json_dict()) service.get_replication_schedule(1) self.resource.expect( "PUT", "/clusters/cluster1/services/hdfs1/replications/1", data=return_sched, retdata=return_sched.to_json_dict()) service.update_replication_schedule(1, return_sched) self.resource.expect( "DELETE", "/clusters/cluster1/services/hdfs1/replications/1", retdata=return_sched.to_json_dict()) service.delete_replication_schedule(1)
def test_snapshot(self): service = ApiService(self.resource, 'hdfs1', 'HDFS') service.__dict__['clusterRef'] = ApiClusterRef(self.resource, clusterName='cluster1') hdfs_args = ApiHdfsSnapshotPolicyArguments(self.resource, pathPatterns='/user/oozie') return_policy = ApiSnapshotPolicy(self.resource, name='sn1', weeklySnapshots=2, hdfsArguments=hdfs_args) return_policy.__dict__['id'] = 1 return_list = ApiList([return_policy]).to_json_dict() self.resource.expect( "POST", "/clusters/cluster1/services/hdfs1/snapshots/policies", retdata=return_list) policy = service.create_snapshot_policy(return_policy) self._test_policy(return_policy, policy) self.resource.expect( "GET", "/clusters/cluster1/services/hdfs1/snapshots/policies", retdata=return_list) policies = service.get_snapshot_policies() self.assertEqual(1, len(policies)) self._test_policy(return_policy, policies[0]) self.resource.expect( "GET", "/clusters/cluster1/services/hdfs1/snapshots/policies/sn1", retdata=return_policy.to_json_dict()) self._test_policy(return_policy, service.get_snapshot_policy("sn1")) return_policy.dayOfWeek = 5 self.resource.expect( "PUT", "/clusters/cluster1/services/hdfs1/snapshots/policies/sn1", data=return_policy, retdata=return_policy.to_json_dict()) policy = service.update_snapshot_policy('sn1', return_policy) self._test_policy(return_policy, policy) self.resource.expect( "DELETE", "/clusters/cluster1/services/hdfs1/snapshots/policies/sn1", retdata=return_policy.to_json_dict()) policy = service.delete_snapshot_policy('sn1') self._test_policy(return_policy, policy)