Example #1
0
        public void DsfFileWrite_GetState_ReturnsStateVariable()
        {
            var act = new DsfFileWrite {
                OutputPath     = "Path",
                Overwrite      = true,
                AppendTop      = true,
                AppendBottom   = true,
                FileContents   = "some file contents",
                Username       = "******",
                Password       = "******",
                PrivateKeyFile = "/path/to/secret",
                Result         = "[[result]]"
            };

            //------------Execute Test---------------------------
            var stateItems = act.GetState();

            Assert.AreEqual(8, stateItems.Count());

            var expectedResults = new[]
            {
                new StateVariable
                {
                    Name  = "OutputPath",
                    Value = "Path",
                    Type  = StateVariable.StateType.Output
                },
                new StateVariable
                {
                    Name  = "Overwrite",
                    Value = "True",
                    Type  = StateVariable.StateType.Input
                },
                new StateVariable
                {
                    Name  = "AppendTop",
                    Value = "True",
                    Type  = StateVariable.StateType.Input
                },
                new StateVariable
                {
                    Name  = "AppendBottom",
                    Value = "True",
                    Type  = StateVariable.StateType.Input
                },
                new StateVariable
                {
                    Name  = "FileContents",
                    Value = "some file contents",
                    Type  = StateVariable.StateType.InputOutput
                },
                new StateVariable
                {
                    Name  = "Username",
                    Value = "myuser",
                    Type  = StateVariable.StateType.Input
                },
                new StateVariable
                {
                    Name  = "PrivateKeyFile",
                    Value = "/path/to/secret",
                    Type  = StateVariable.StateType.Input
                },
                new StateVariable
                {
                    Name  = "Result",
                    Value = "[[result]]",
                    Type  = StateVariable.StateType.Output
                }
            };

            var iter = act.GetState().Select(
                (item, index) => new
            {
                value       = item,
                expectValue = expectedResults[index]
            }
                );

            //------------Assert Results-------------------------
            foreach (var entry in iter)
            {
                Assert.AreEqual(entry.expectValue.Name, entry.value.Name);
                Assert.AreEqual(entry.expectValue.Type, entry.value.Type);
                Assert.AreEqual(entry.expectValue.Value, entry.value.Value);
            }
        }