Example #1
0
        public void TestConstructionFromProcessTask()
        {
            var processTask = Mock.Of <IProcessTask>(pt => pt.Path == "path");

            var runtimeTask = new ExecutableRuntimeTask(processTask, null);

            Assert.AreEqual("path", runtimeTask.ExeFilepath);
        }
Example #2
0
        private ExecutableRuntimeTask GetRuntimeTask()
        {
            var factory = new RuntimeTaskFactory(Activator.RepositoryLocator.CatalogueRepository);

            var lmd            = _processTask.LoadMetadata;
            var argsDictionary = new LoadArgsDictionary(lmd, new HICDatabaseConfiguration(lmd).DeployInfo);

            //populate the UI with the args
            _runtimeTask      = (ExecutableRuntimeTask)factory.Create(_processTask, argsDictionary.LoadArgs[_processTask.LoadStage]);
            tbExeCommand.Text = _runtimeTask.ExeFilepath + " " + _runtimeTask.CreateArgString();

            return(_runtimeTask);
        }
Example #3
0
        public void TestCreateArgString()
        {
            const string db = "my-db";

            var customArgs = new List <SpontaneouslyInventedArgument>();

            customArgs.Add(new SpontaneouslyInventedArgument(new MemoryRepository(), "DatabaseName", db));

            var processTask = Mock.Of <IProcessTask>();
            var task        = new ExecutableRuntimeTask(processTask, new RuntimeArgumentCollection(customArgs.ToArray(), null));

            var argString         = task.CreateArgString();
            var expectedArgString = "--database-name=" + db;

            Assert.AreEqual(expectedArgString, argString);
        }
        public void TestConstructionFromProcessTaskUsingDatabase()
        {
            const string expectedPath = @"\\a\fake\path.exe";

            var loadMetadata = new LoadMetadata(CatalogueRepository);
            var processTask  = new ProcessTask(CatalogueRepository, loadMetadata, LoadStage.Mounting)
            {
                Name = "Test process task",
                Path = expectedPath
            };

            processTask.SaveToDatabase();

            var argument = new ProcessTaskArgument(CatalogueRepository, processTask)
            {
                Name  = "DatabaseName",
                Value = @"Foo_STAGING"
            };

            argument.SaveToDatabase();

            try
            {
                var args =
                    new RuntimeArgumentCollection(processTask.ProcessTaskArguments.Cast <IArgument>().ToArray(), null);

                var runtimeTask = new ExecutableRuntimeTask(processTask, args);
                Assert.AreEqual(expectedPath, runtimeTask.ExeFilepath);

                Assert.AreEqual(1, runtimeTask.RuntimeArguments.GetAllArgumentsOfType <string>().Count());

                var dictionaryOfStringArguments = runtimeTask.RuntimeArguments.GetAllArgumentsOfType <string>().ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
                Assert.IsNotNull(dictionaryOfStringArguments["DatabaseName"]);
                Assert.AreEqual("Foo_STAGING", dictionaryOfStringArguments["DatabaseName"]);
            }
            finally
            {
                loadMetadata.DeleteInDatabase();
            }
        }