public void Save30AboveMaxTest(string body, int count, int start, int end,int attach) { const string domain = "@example.com"; const string from = "user1" + domain; for (int i = 0; i < 30; i++) { var m = new TsMail(from, "1ban" + domain, "DMY"); m.Mail.AddHeader("subject", string.Format("TEST_{0}", i));//試験的に件名を挿入する _ml.Job(m.MlEnvelope, m.Mail); } //この時点で、user1,user2,adin2のそれぞれ30通が送信されているため_tsMailSave.Count()は90となる //事後のテストのため一度クリアする _tsMailSave.Clear(); //リクエスト var mail = new TsMail(from, "1ban-ctl" + domain, body); _ml.Job(mail.MlEnvelope, mail.Mail); Assert.AreEqual(_tsMailSave.Count(),count); //返されるメールはcount通 var subject = string.Format("result for get [{0}-{1} MIME/multipart] (1ban ML)", start, end); Assert.AreEqual(_tsMailSave.GetMail(count-1).GetHeader("subject"), subject); //添付されているメールの通数確認 var ar = GetAttach(_tsMailSave.GetMail(count-1)); Assert.AreEqual(ar.Count, attach); }
public void Summary2Test(string body, string response) { const string domain = "@example.com"; const string from = "user1" + domain; for (var i = 0; i < 30; i++) { var m = new TsMail(from, "1ban" + domain, "DMY"); m.Mail.AddHeader("subject", string.Format("TEST_{0}", i));//試験的に件名を挿入する _ml.Job(m.MlEnvelope, m.Mail); } //この時点で、user1,user2,adin2のそれぞれ30通が送信されているため_tsMailSave.Count()は90となる //事後のテストのため一度クリアする _tsMailSave.Clear(); var mail = new TsMail(from, "1ban-ctl" + domain, body); _ml.Job(mail.MlEnvelope, mail.Mail); var s = Encoding.ASCII.GetString(_tsMailSave.GetMail(0).GetBody()); Assert.AreEqual(s, response); }
public void Save30Test(int count) { const string domain = "@example.com"; const string from = "user1" + domain; for (var i = 0; i < count; i++) { var m = new TsMail(from, "1ban" + domain, "DMY"); var subject = string.Format("TEST_{0}", i);//試験的に件名を挿入する m.Mail.AddHeader("subject", subject); _ml.Job(m.MlEnvelope, m.Mail); } //この時点で、user1,user2,adin2のそれぞれ30通が送信されているため_tsMailSave.Count()は90となる Assert.AreEqual(_tsMailSave.Count(), count * 3); for (var i = 0; i < _tsMailSave.Count(); i++) { var mail = _tsMailSave.GetMail(i); Assert.AreEqual(mail.GetHeader("from"), from); Assert.AreEqual(mail.GetHeader("to"),"1ban"+domain); Assert.AreEqual(mail.GetHeader("subject"),string.Format("[1ban:{0:D5}] TEST_{1}",i/3+1,i/3)); Assert.AreEqual(mail.GetHeader("Reply-To"), "\"1ban\"<*****@*****.**>"); Assert.AreEqual(mail.GetHeader("List-Id"), "1ban.example.com"); Assert.AreEqual(mail.GetHeader("List-Post"), "<mailto:[email protected]>"); Assert.AreEqual(mail.GetHeader("List-Owner"), "<mailto:[email protected]>"); Assert.AreEqual(mail.GetHeader("List-Help"), "<mailto:[email protected]?body=help>"); Assert.AreEqual(mail.GetHeader("List-Unsubscribe"), "<mailto:[email protected]?body=unsubscribe>"); } }
public void Summary1Test(string body, int count, string subject) { const string domain = "@example.com"; const string from = "user1" + domain; for (var i = 0; i < 30; i++) { var m = new TsMail(from, "1ban" + domain, "DMY"); m.Mail.AddHeader("subject", string.Format("TEST_{0}", i));//試験的に件名を挿入する _ml.Job(m.MlEnvelope, m.Mail); } //この時点で、user1,user2,adin2のそれぞれ30通が送信されているため_tsMailSave.Count()は90となる //事後のテストのため一度クリアする _tsMailSave.Clear(); var mail = new TsMail(from, "1ban-ctl" + domain, body); _ml.Job(mail.MlEnvelope, mail.Mail); Assert.AreEqual(_tsMailSave.Count(), count); //返されるエラーメールは1通 Assert.AreEqual(_tsMailSave.GetMail(count - 1).GetHeader("subject"), subject); Assert.AreEqual(_tsMailSave.GetFrom(count - 1).ToString(), "1ban-admin" + domain); }
[TestCase(10)]//10通の送信 //[TestCase(10000)]//10000通の送信(時間がかかるので、デバッグ時のみ使用する) public void Save30Test(int count) { const string domain = "@example.com"; const string from = "user1" + domain; for (var i = 0; i < count; i++) { var m = new TsMail(from, "1ban" + domain, "DMY"); var subject = string.Format("TEST_{0}", i);//試験的に件名を挿入する m.Mail.AddHeader("subject", subject); _ml.Job(m.MlEnvelope, m.Mail); } //この時点で、user1,user2,adin2のそれぞれ30通が送信されているため_tsMailSave.Count()は90となる Assert.AreEqual(_tsMailSave.Count(), count * 3); for (var i = 0; i < _tsMailSave.Count(); i++) { var mail = _tsMailSave.GetMail(i); Assert.AreEqual(mail.GetHeader("from"), from); Assert.AreEqual(mail.GetHeader("to"), "1ban" + domain); Assert.AreEqual(mail.GetHeader("subject"), string.Format("[1ban:{0:D5}] TEST_{1}", i / 3 + 1, i / 3)); Assert.AreEqual(mail.GetHeader("Reply-To"), "\"1ban\"<*****@*****.**>"); Assert.AreEqual(mail.GetHeader("List-Id"), "1ban.example.com"); Assert.AreEqual(mail.GetHeader("List-Post"), "<mailto:[email protected]>"); Assert.AreEqual(mail.GetHeader("List-Owner"), "<mailto:[email protected]>"); Assert.AreEqual(mail.GetHeader("List-Help"), "<mailto:[email protected]?body=help>"); Assert.AreEqual(mail.GetHeader("List-Unsubscribe"), "<mailto:[email protected]?body=unsubscribe>"); } }
public void Test(string sender, string to, string from, string recvers) { //ドメインを追加 const string domain = "@example.com"; sender = sender + domain; to = to + domain; from = from + domain; //配信先 var recvList = new List <string>(); foreach (var r in recvers.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { recvList.Add(r + domain); } var mail = new TsMail(sender, to, "dmy"); _ml.Job(mail.MlEnvelope, mail.Mail); //user1とuser2に届く Assert.AreEqual(_tsMailSave.Count(), recvList.Count()); for (int i = 0; i < recvList.Count(); i++) { Assert.AreEqual(recvList[i], _tsMailSave.GetTo(i).ToString()); Assert.AreEqual(from, _tsMailSave.GetFrom(i).ToString()); } }
public void Save30UnderMaxTest(string body, int start, int end, int attach) { const string domain = "@example.com"; const string from = "user1" + domain; for (int i = 0; i < 30; i++) { var m = new TsMail(from, "1ban" + domain, "DMY"); m.Mail.AddHeader("subject", string.Format("TEST_{0}", i));//試験的に件名を挿入する _ml.Job(m.MlEnvelope, m.Mail); } //この時点で、user1,user2,adin2のそれぞれ30通が送信されているため_tsMailSave.Count()は90となる //事後のテストのため一度クリアする _tsMailSave.Clear(); //リクエスト var mail = new TsMail(from, "1ban-ctl" + domain, body); _ml.Job(mail.MlEnvelope, mail.Mail); Assert.AreEqual(_tsMailSave.Count(), 1); //返されるメールは1通 var subject = string.Format("result for get [{0}-{1} MIME/multipart] (1ban ML)", start, end); Assert.AreEqual(_tsMailSave.GetMail(0).GetHeader("subject"), subject); Assert.AreEqual(_tsMailSave.GetFrom(0).ToString(), "1ban-admin" + domain); //添付されているメールの通数確認 var ar = GetAttach(_tsMailSave.GetMail(0)); Assert.AreEqual(ar.Count, attach); }
public void AdminTest(string from) { var mail = new TsMail(from, "*****@*****.**","DMY"); _ml.Job(mail.MlEnvelope, mail.Mail); //管理者全員にメールが配信される Assert.AreEqual(_tsMailSave.Count(), 2); //送信者の確認 Assert.AreEqual(_tsMailSave.GetMail(0).GetHeader("from"),from); }
public void AdminTest(string from) { var mail = new TsMail(from, "*****@*****.**", "DMY"); _ml.Job(mail.MlEnvelope, mail.Mail); //管理者全員にメールが配信される Assert.AreEqual(_tsMailSave.Count(), 2); //送信者の確認 Assert.AreEqual(_tsMailSave.GetMail(0).GetHeader("from"), from); }
public void Summary0Test(string body, string subject) { // ドメインを追加 const string domain = "@example.com"; const string from = "user1" + domain; var mail = new TsMail(from, "1ban-ctl" + domain, body); _ml.Job(mail.MlEnvelope, mail.Mail); Assert.AreEqual(_tsMailSave.Count(), 1); //返されるエラーメールは1通 Assert.AreEqual(_tsMailSave.GetMail(0).GetHeader("subject"), subject); Assert.AreEqual(_tsMailSave.GetFrom(0).ToString(), "1ban-admin" + domain); }
public void Save0Test(string body, string subject) { // ドメインを追加 const string domain = "@example.com"; const string from = "user1" + domain; var mail = new TsMail(from, "1ban-ctl" + domain, body); _ml.Job(mail.MlEnvelope, mail.Mail); Assert.AreEqual(_tsMailSave.Count(), 1); //返されるエラーメールは1通 Assert.AreEqual(_tsMailSave.GetMail(0).GetHeader("subject"), subject); Assert.AreEqual(_tsMailSave.GetFrom(0).ToString(), "1ban-admin" + domain); }
public void HelpTest(string user,string subject) { // ドメインを追加 const string domain = "@example.com"; string from = user + domain; var mail = new TsMail(from, "1ban-ctl" + domain, "help"); _ml.Job(mail.MlEnvelope, mail.Mail); Assert.AreEqual(_tsMailSave.Count(), 1); var m = _tsMailSave.GetMail(0); //送信者 Assert.AreEqual(m.GetHeader("from"), "1ban-admin" + domain); //件名 Assert.AreEqual(m.GetHeader("subject"),subject); }
[TestCase("xxxx", "You are not member (1ban ML)")] //メンバ外からのリクエスト(失敗) public void HelpTest(string user, string subject) { // ドメインを追加 const string domain = "@example.com"; string from = user + domain; var mail = new TsMail(from, "1ban-ctl" + domain, "help"); _ml.Job(mail.MlEnvelope, mail.Mail); Assert.AreEqual(_tsMailSave.Count(), 1); var m = _tsMailSave.GetMail(0); //送信者 Assert.AreEqual(m.GetHeader("from"), "1ban-admin" + domain); //件名 Assert.AreEqual(m.GetHeader("subject"), subject); }
public void TestTest(string from, string to, string recvers) { var recvList = recvers.Split(new char[] { ',' }, StringSplitOptions.None); var mail = new TsMail(from, to, "dmy"); _ml.Job(mail.MlEnvelope, mail.Mail); //user1とuser2に届く //*************************************************** //返されるはuser1,user2,admin2への3通 //ヘッダは、すべて送信者->POST //エンベロープは送信者->user1,user2 //*************************************************** /*Assert.AreEqual(3, init.MailSave.Count()); * int index = 0; * var fromStr = user1Str;//送信者 * var toStr = mlPostStr;//post * var from = user1;//送信者 * var to = user1;//user1 * var subject = string.Format("[{0}]", init._mlName);//件名 * Comfirm(index, fromStr, toStr, from, to, subject); * * index = 1; * to = user2;//user2 * Comfirm(index, fromStr, toStr, from * to, subject); * * index = 2; * to = admin2;//admin2 * Comfirm(index, fromStr, toStr, from, to, subject); */ }
public void Summary1Test(string body, int count, string subject) { const string domain = "@example.com"; const string from = "user1" + domain; for (var i = 0; i < 30; i++) { var m = new TsMail(from, "1ban" + domain, "DMY"); m.Mail.AddHeader("subject", string.Format("TEST_{0}", i));//試験的に件名を挿入する _ml.Job(m.MlEnvelope, m.Mail); } //この時点で、user1,user2,adin2のそれぞれ30通が送信されているため_tsMailSave.Count()は90となる //事後のテストのため一度クリアする _tsMailSave.Clear(); var mail = new TsMail(from,"1ban-ctl"+domain,body); _ml.Job(mail.MlEnvelope, mail.Mail); Assert.AreEqual(_tsMailSave.Count(), count); //返されるエラーメールは1通 Assert.AreEqual(_tsMailSave.GetMail(count - 1).GetHeader("subject"), subject); Assert.AreEqual(_tsMailSave.GetFrom(count - 1).ToString(), "1ban-admin" + domain); }
public void Summary2Test(string body, string response) { const string domain = "@example.com"; const string from = "user1" + domain; for (var i = 0; i < 30; i++) { var m = new TsMail(from, "1ban" + domain, "DMY"); m.Mail.AddHeader("subject", string.Format("TEST_{0}", i));//試験的に件名を挿入する _ml.Job(m.MlEnvelope, m.Mail); } //この時点で、user1,user2,adin2のそれぞれ30通が送信されているため_tsMailSave.Count()は90となる //事後のテストのため一度クリアする _tsMailSave.Clear(); var mail = new TsMail(from, "1ban-ctl" + domain, body); _ml.Job(mail.MlEnvelope, mail.Mail); var s = Encoding.ASCII.GetString(_tsMailSave.GetMail(0).GetBody()); Assert.AreEqual(s, response); }
public void Test(string sender, string to, string from, string recvers) { //ドメインを追加 const string domain = "@example.com"; sender = sender + domain; to = to + domain; from = from + domain; //配信先 var recvList = new List<string>(); foreach (var r in recvers.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { recvList.Add(r + domain); } var mail = new TsMail(sender,to, "dmy"); _ml.Job(mail.MlEnvelope, mail.Mail); //user1とuser2に届く Assert.AreEqual(_tsMailSave.Count(), recvList.Count()); for(int i=0;i<recvList.Count();i++){ Assert.AreEqual(recvList[i], _tsMailSave.GetTo(i).ToString()); Assert.AreEqual(from, _tsMailSave.GetFrom(i).ToString()); } }
public void TestTest(string from,string to,string recvers) { var recvList = recvers.Split(new char[]{','},StringSplitOptions.None); var mail = new TsMail(from,to, "dmy"); _ml.Job(mail.MlEnvelope, mail.Mail); //user1とuser2に届く //*************************************************** //返されるはuser1,user2,admin2への3通 //ヘッダは、すべて送信者->POST //エンベロープは送信者->user1,user2 //*************************************************** /*Assert.AreEqual(3, init.MailSave.Count()); int index = 0; var fromStr = user1Str;//送信者 var toStr = mlPostStr;//post var from = user1;//送信者 var to = user1;//user1 var subject = string.Format("[{0}]", init._mlName);//件名 Comfirm(index, fromStr, toStr, from, to, subject); index = 1; to = user2;//user2 Comfirm(index, fromStr, toStr, from to, subject); index = 2; to = admin2;//admin2 Comfirm(index, fromStr, toStr, from, to, subject); */ }