public void VisitHBaseRestoreStep() { //Init args HBaseRestoreStep hBaseRestoreStep = new HBaseRestoreStep(); hBaseRestoreStep.HBaseJarPath = "{hbaseJar}"; hBaseRestoreStep.RestorePath = "{myBucket}/hbase/restore"; //Expectations List <string> expectedArgs = new List <string>() { "--restore", "--backup-dir", "s3://myBucket/hbase/restore" }; //Init settings IBuilderSettings settings = BuildRequestVisitorTest.GetSettings(); //Init visitor BuildRequestVisitor visitor = new BuildRequestVisitor(settings); VisitorSubscriber visitorSubscriber = new VisitorSubscriber(visitor); //Action hBaseRestoreStep.Accept(visitor); //Verify Assert.AreEqual(1, visitorSubscriber.TotalObjCount, "Unexpected number of objects created"); StepConfig actual = visitorSubscriber.stepList[0]; Assert.AreEqual("Restore HBase", actual.Name, "Unexpected Name"); Assert.AreEqual(ActionOnFailure.TERMINATE_JOB_FLOW, actual.ActionOnFailure, "Unexpected ActionOnFailure"); Assert.AreEqual("/home/hadoop/lib/2.2.0/hbase-0.94.7.jar", actual.HadoopJarStep.Jar, "Unexpected Jar"); Assert.AreEqual("emr.hbase.backup.Main", actual.HadoopJarStep.MainClass, "Unexpected MainClass"); Assert.IsTrue(expectedArgs.SequenceEqual(actual.HadoopJarStep.Args), "Unexpected args list"); }
public void HBaseRestorePathIsMissing() { //Input HBaseRestoreStep hBaseRestoreStep = new HBaseRestoreStep() { HBaseJarPath = "/home/hadoop/lib/hbase-0.94.7.jar" }; //Init settings BuilderSettings settings = BuildRequestVisitorTest.GetSettings(); //Init visitor BuildRequestVisitor visitor = new BuildRequestVisitor(settings); VisitorSubscriber visitorSubscriber = new VisitorSubscriber(visitor); //Action try { hBaseRestoreStep.Accept(visitor); Assert.Fail("Exception has not been thrown!!!"); } catch (InvalidOperationException ex) { Assert.IsFalse(visitorSubscriber.wasAnyEventFired, "None of the visitor's events should be fired!"); Assert.AreEqual <string>("RestorePath property is missing for the HBase Restore Step. Example: \"s3://myBucket/hBaseRestore\"", ex.Message, "Unexpected exception message"); } }
public void Visit(HBaseRestoreStep hBaseRestoreStep) { if (String.IsNullOrEmpty(hBaseRestoreStep.HBaseJarPath)) { throw new InvalidOperationException(Resources.E_HBaseRestoreJarIsMissing); } if (String.IsNullOrEmpty(hBaseRestoreStep.RestorePath)) { throw new InvalidOperationException(Resources.E_HBaseRestorePathIsMissing); } this.CreateStepConfig( Resources.HBaseRestoreStepName, hBaseRestoreStep.HBaseJarPath, Resources.HBaseMainClass, ActionOnFailure.TERMINATE_JOB_FLOW, new List <String>() { "--restore", "--backup-dir", hBaseRestoreStep.RestorePath }); }