void Verify_Constructor_DoesNotAutoCopyEmailSourceUserNameIntoFromAccount(string to)
        {
            //------------Setup for test--------------------------
            var activity = new DsfExchangeEmailActivity()
            {
                To = to
            };

            var emailSource = new ExchangeSourceDefinition
            {
                UserName   = "******",
                Password   = "******",
                ResourceID = Guid.NewGuid()
            };
            var modelItem      = ModelItemUtils.CreateModelItem(activity);
            var eventPublisher = new Mock <IEventAggregator>();
            var viewModel      = CreateViewModel(modelItem, eventPublisher.Object);

            //------------Execute Test---------------------------
            viewModel.SourceRegion.SelectedSource = emailSource;

            //------------Assert Results-------------------------
            var toReceipient = modelItem.GetProperty <string>("To");

            Assert.AreEqual(to, toReceipient);
        }
        static ModelItem CreateNullToModelItem()
        {
            var activity = new DsfExchangeEmailActivity
            {
                To = null,
            };

            return(ModelItemUtils.CreateModelItem(activity));
        }
        static ModelItem CreateModelItem()
        {
            var activity = new DsfExchangeEmailActivity
            {
                To      = "*****@*****.**",
                Subject = "Test Exchange",
                Body    = "Test email from exchange"
            };

            return(ModelItemUtils.CreateModelItem(activity));
        }
        public void ExchangeEmailDesignerViewModel_ValidateThis_BccIsNotValidEmailAddress_DoesHaveErrors()
        {
            var activity = new DsfExchangeEmailActivity
            {
                To          = "",
                Cc          = "",
                Bcc         = "user2#mydomain.com",
                Subject     = "The Subject",
                Attachments = "",
                Body        = "The body",
            };

            Verify_ValidateThis(activity, "'Bcc' contains an invalid email address", ExchangeEmailDesignerViewModel.IsBccFocusedProperty);
        }
        static ModelItem CreateFullToModelItem()
        {
            var activity = new DsfExchangeEmailActivity
            {
                To          = "test",
                Cc          = "test",
                Body        = "test",
                Bcc         = "test",
                Attachments = "test"
            };


            return(ModelItemUtils.CreateModelItem(activity));
        }
        public void ExchangeEmailDesignerViewModel_ValidateThis_SubjectIsEmpyAndBodyIsNotEmpty_DoesNotHaveErrors()
        {
            var activity = new DsfExchangeEmailActivity
            {
                To          = "*****@*****.**",
                Cc          = "",
                Bcc         = "",
                Subject     = "",
                Attachments = "",
                Body        = "The Body",
            };

            Verify_ValidateThis(activity);
        }
        public void ExchangeEmailDesignerViewModel_ValidateThis_SubjectAndBodyIsEmpty_DoesHaveErrors()
        {
            var activity = new DsfExchangeEmailActivity
            {
                To          = "*****@*****.**",
                Cc          = "",
                Bcc         = "",
                Subject     = "",
                Attachments = "",
                Body        = "",
            };

            Verify_ValidateThis(activity, "Please supply at least one of the following: 'Subject' or 'Body'", ExchangeEmailDesignerViewModel.IsSubjectFocusedProperty);
        }
        public void ExchangeEmailDesignerViewModel_ValidateThis_RecipientsBccIsNotEmpty_DoesHaveNotErrors()
        {
            var activity = new DsfExchangeEmailActivity
            {
                To          = "",
                Cc          = "",
                Bcc         = "*****@*****.**",
                Subject     = "The Subject",
                Attachments = "",
                Body        = "The body",
            };

            Verify_ValidateThis(activity);
        }
        public void ExchangeEmailDesignerViewModel_ValidateThis_RecipientsIsEmpty_DoesHaveErrors()
        {
            var activity = new DsfExchangeEmailActivity
            {
                To          = "",
                Cc          = "",
                Bcc         = "",
                Subject     = "The Subject",
                Attachments = "",
                Body        = "The body",
            };

            Verify_ValidateThis(activity, "Please supply at least one of the following: 'To', 'Cc' or 'Bcc'", ExchangeEmailDesignerViewModel.IsToFocusedProperty);
        }
        public void ExchangeEmailDesignerViewModel_ValidateThis_AttachmentsIsValidExpression_DoesNotHaveErrors()
        {
            var activity = new DsfExchangeEmailActivity
            {
                To          = "",
                Cc          = "",
                Bcc         = "*****@*****.**",
                Subject     = "The Subject",
                Attachments = "[[h]]",
                Body        = "The body",
            };

            Verify_ValidateThis(activity);
        }
        public void ExchangeEmailDesignerViewModel_ValidateThis_AttachmentsIsNotValidFileName_DoesHaveErrors()
        {
            var activity = new DsfExchangeEmailActivity
            {
                To          = "",
                Cc          = "",
                Bcc         = "*****@*****.**",
                Subject     = "The Subject",
                Attachments = "c:\\logs",
                Body        = "The body",
            };

            Verify_ValidateThis(activity, "'Attachments' contains an invalid file name", ExchangeEmailDesignerViewModel.IsAttachmentsFocusedProperty);
        }
        public void ExchangeEmailDesignerViewModel_ValidateThis_AttachmentsIsNotValidExpression_DoesHaveErrors()
        {
            var activity = new DsfExchangeEmailActivity
            {
                To          = "",
                Cc          = "",
                Bcc         = "*****@*****.**",
                Subject     = "The Subject",
                Attachments = "h]]",
                Body        = "The body",
            };

            Verify_ValidateThis(activity, Warewolf.Resource.Errors.ErrorResource.EmailAttachmentsInvalidExpressionErrorTest, ExchangeEmailDesignerViewModel.IsAttachmentsFocusedProperty);
        }
        public void Body_Same_Object_IsEqual()
        {
            //---------------Set up test pack-------------------
            var uniqueId = Guid.NewGuid().ToString();
            var exchangeEmailActivity = new DsfExchangeEmailActivity()
            {
                UniqueID = uniqueId, Body = "a"
            };
            var exchangeEmailActivity1 = new DsfExchangeEmailActivity()
            {
                UniqueID = uniqueId, Body = "a"
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(exchangeEmailActivity);
            //---------------Execute Test ----------------------
            var @equals = exchangeEmailActivity.Equals(exchangeEmailActivity1);

            //---------------Test Result -----------------------
            Assert.IsTrue(equals);
        }
        public void Equals_Given_Different_Object_Is_Not_Equal()
        {
            //---------------Set up test pack-------------------
            var uniqueId = Guid.NewGuid().ToString();
            var exchangeEmailActivity = new DsfExchangeEmailActivity()
            {
                UniqueID = uniqueId, DisplayName = "A"
            };
            var exchangeEmailActivity1 = new DsfExchangeEmailActivity()
            {
                UniqueID = uniqueId, DisplayName = "ass"
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(exchangeEmailActivity);
            //---------------Execute Test ----------------------
            var @equals = exchangeEmailActivity.Equals(exchangeEmailActivity1);

            //---------------Test Result -----------------------
            Assert.IsFalse(equals);
        }
        public void SavedSource_Same_Object_Is_Equal()
        {
            //---------------Set up test pack-------------------
            var uniqueId = Guid.NewGuid().ToString();
            var exchangeEmailActivity = new DsfExchangeEmailActivity {
                UniqueID = uniqueId, Result = "A"
            };
            var exchangeEmailActivity1 = new DsfExchangeEmailActivity {
                UniqueID = uniqueId, Result = "A"
            };

            //---------------Assert Precondition----------------
            Assert.IsTrue(exchangeEmailActivity.Equals(exchangeEmailActivity1));
            //---------------Execute Test ----------------------
            exchangeEmailActivity.SavedSource  = new ExchangeSourceDefinition();
            exchangeEmailActivity1.SavedSource = new ExchangeSourceDefinition();
            var @equals = exchangeEmailActivity.Equals(exchangeEmailActivity1);

            //---------------Test Result -----------------------
            Assert.IsTrue(equals);
        }
        public void Body_Different_Object_Is_Not_Equal_CaseSensitive()
        {
            //---------------Set up test pack-------------------
            var uniqueId = Guid.NewGuid().ToString();
            var exchangeEmailActivity = new DsfExchangeEmailActivity()
            {
                UniqueID = uniqueId, Body = "AAA"
            };
            var exchangeEmailActivity1 = new DsfExchangeEmailActivity()
            {
                UniqueID = uniqueId, Body = "aaa"
            };

            //---------------Assert DsfExchangeEmailActivity----------------
            Assert.IsNotNull(exchangeEmailActivity);
            //---------------Execute Test ----------------------
            var @equals = exchangeEmailActivity.Equals(exchangeEmailActivity1);

            //---------------Test Result -----------------------
            Assert.IsFalse(equals);
        }
        public void UniqueIDEquals_EmptyDropBoxDeleteActivities_IsEqual()
        {
            //---------------Set up test pack-------------------
            var uniqueId = Guid.NewGuid().ToString();
            var exchangeEmailActivity = new DsfExchangeEmailActivity()
            {
                UniqueID = uniqueId
            };
            var exchangeEmailActivity1 = new DsfExchangeEmailActivity()
            {
                UniqueID = uniqueId
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(exchangeEmailActivity);
            //---------------Execute Test ----------------------
            var @equals = exchangeEmailActivity.Equals(exchangeEmailActivity1);

            //---------------Test Result -----------------------
            Assert.IsTrue(equals);
        }
        void Verify_ValidateThis(DsfExchangeEmailActivity activity, string expectedErrorMessage = null, DependencyProperty isFocusedProperty = null, bool setSelectedEmailSource = true)
        {
            var sources = CreateEmailSources(1);

            if (setSelectedEmailSource)
            {
                activity.SavedSource = sources[0];
            }

            var modelItem = ModelItemUtils.CreateModelItem(activity);

            var eventPublisher = new Mock <IEventAggregator>();

            eventPublisher.Setup(p => p.Publish(It.IsAny <FileChooserMessage>())).Verifiable();

            var viewModel = CreateViewModel(modelItem, eventPublisher.Object);

            //------------Execute Test---------------------------
            viewModel.Validate();

            //------------Assert Results-------------------------
            if (string.IsNullOrEmpty(expectedErrorMessage))
            {
                Assert.IsNull(viewModel.Errors, string.Join("\n", viewModel.Errors?.Select(error => error.Message) ?? new List <string>()));
            }
            else
            {
                Assert.IsNotNull(viewModel.Errors);
                Assert.AreEqual(1, viewModel.Errors.Count);
                StringAssert.Contains(viewModel.Errors[0].Message, expectedErrorMessage);

                viewModel.Errors[0].Do();
                var isFocused = isFocusedProperty != null && (bool)viewModel.GetValue(isFocusedProperty);
                Assert.IsTrue(isFocused);
            }
        }
        public void DsfExchangeEmailActivity_GetState_ReturnsStateVariable()
        {
            //------------Setup for test--------------------------
            var uniqueId           = Guid.NewGuid();
            var mockExchangeSource = new Mock <IExchangeSource>();

            mockExchangeSource.Setup(source => source.ResourceID).Returns(uniqueId);

            var expectedSavedSource = mockExchangeSource.Object;
            var expectedTo          = "*****@*****.**";
            var expectedCc          = "*****@*****.**";
            var expectedBcc         = "*****@*****.**";
            var expectedSubject     = "test Email";
            var expectedAttachments = "att_1;att_2;att_3";
            var expectedBody        = "Email Body";
            var expectedResult      = "[[res]]";

            var act = new DsfExchangeEmailActivity
            {
                SavedSource = expectedSavedSource,
                To          = expectedTo,
                Cc          = expectedCc,
                Bcc         = expectedBcc,
                Subject     = expectedSubject,
                Attachments = expectedAttachments,
                Body        = expectedBody,
                Result      = expectedResult
            };
            //------------Execute Test---------------------------
            var stateItems = act.GetState();

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

            var expectedResults = new[]
            {
                new StateVariable
                {
                    Name  = "SavedSource.ResourceID",
                    Type  = StateVariable.StateType.Input,
                    Value = uniqueId.ToString()
                },
                new StateVariable
                {
                    Name  = "To",
                    Type  = StateVariable.StateType.Input,
                    Value = expectedTo
                },
                new StateVariable
                {
                    Name  = "Cc",
                    Type  = StateVariable.StateType.Input,
                    Value = expectedCc
                },
                new StateVariable
                {
                    Name  = "Bcc",
                    Type  = StateVariable.StateType.Input,
                    Value = expectedBcc
                },
                new StateVariable
                {
                    Name  = "Subject",
                    Type  = StateVariable.StateType.Input,
                    Value = expectedSubject
                },
                new StateVariable
                {
                    Name  = "Attachments",
                    Type  = StateVariable.StateType.Input,
                    Value = expectedAttachments
                },
                new StateVariable
                {
                    Name  = "Body",
                    Type  = StateVariable.StateType.Input,
                    Value = expectedBody
                },
                new StateVariable
                {
                    Name  = "Result",
                    Type  = StateVariable.StateType.Output,
                    Value = expectedResult
                }
            };

            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);
            }
        }
Esempio n. 20
0
        protected override void BuildDataList()
        {
            scenarioContext.TryGetValue("variableList", out List <Tuple <string, string> > variableList);

            if (variableList == null)
            {
                variableList = new List <Tuple <string, string> >();
                scenarioContext.Add("variableList", variableList);
            }

            variableList.Add(new Tuple <string, string>(ResultVariable, ""));
            BuildShapeAndTestData();

            scenarioContext.TryGetValue("body", out string body);
            scenarioContext.TryGetValue("subject", out string subject);
            scenarioContext.TryGetValue("password", out string password);
            scenarioContext.TryGetValue("simulationOutput", out string simulationOutput);
            scenarioContext.TryGetValue("to", out string to);

            var server = SimpleSmtpServer.Start(25);

            scenarioContext.Add("server", server);

            var resourceName        = Guid.NewGuid();
            var resourceID          = Guid.NewGuid();
            var selectedEmailSource = new ExchangeSourceDefinition
            {
                AutoDiscoverUrl = "https://outlook.office365.com/EWS/Exchange.asmx",
                UserName        = "******",
                Password        = "******",
                ResourceName    = resourceName.ToString(),
                ResourceID      = resourceID
            };


            var emailSource = new ExchangeSource
            {
                AutoDiscoverUrl = "https://outlook.office365.com/EWS/Exchange.asmx",
                UserName        = "******",
                Password        = "******",
                ResourceName    = resourceName.ToString(),
                ResourceID      = resourceID
            };

            ResourceCatalog.Instance.SaveResource(Guid.Empty, emailSource, "");
            var emailSender = new Mock <IDev2EmailSender>();

            var eR = new ErrorResultTO();

            emailSender
            .Setup(sender => sender.SendEmail(It.IsAny <IExchange>(), It.IsAny <IWarewolfListIterator>(), It.IsAny <IWarewolfIterator>(), It.IsAny <IWarewolfIterator>(), It.IsAny <IWarewolfIterator>(), It.IsAny <IWarewolfIterator>(), It.IsAny <IWarewolfIterator>(), It.IsAny <IWarewolfIterator>(), out eR))
            .Callback(new myDelegate((IExchange source, IWarewolfListIterator listIterator, IWarewolfIterator i1, IWarewolfIterator i2, IWarewolfIterator i3, IWarewolfIterator i4, IWarewolfIterator i5, IWarewolfIterator i6, out ErrorResultTO errors) =>
            {
                listIterator.FetchNextValue(i1);
                listIterator.FetchNextValue(i2);
                listIterator.FetchNextValue(i3);
                listIterator.FetchNextValue(i4);
                listIterator.FetchNextValue(i5);
                listIterator.FetchNextValue(i6);
                errors = null;
            }))
            .Returns("Success");
            var sendEmail = new DsfExchangeEmailActivity(emailSender.Object)
            {
                Result      = ResultVariable,
                Body        = string.IsNullOrEmpty(body) ? "" : body,
                Subject     = string.IsNullOrEmpty(subject) ? "" : subject,
                To          = string.IsNullOrEmpty(to) ? "" : to,
                SavedSource = selectedEmailSource,
                Cc          = string.Empty,
                Bcc         = String.Empty,
                Attachments = String.Empty
            };

            TestStartNode = new FlowStep
            {
                Action = sendEmail
            };
            scenarioContext.Add("activity", sendEmail);
        }