// // BlogUnitTest.cs // // Author: // Paul Schneider // // Copyright (c) 2015 GNU GPL // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with this program. If not, see . using NUnit.Framework; using System; using Yavsc.Model.Blogs; using Yavsc.Controllers; using System.Web.Mvc; using System.Web.Security; using System.Web.Configuration; using System.Configuration; using System.IO; using System.Web.Http; namespace Yavsc { [TestFixture ()] public class AccountUnitTestCase { public string UserName { get; set; } public string Email { get; set; } public string Password { get; set; } AccountController accountController; public AccountController AccountController { get { return accountController; } } string defaultMembershipProvider = null; [Test] public virtual void Init() { webSource = new XSPWebSource (configurationManager.Address, configurationManager.Port, !root); var server = new ApplicationServer (webSource, configurationManager.Root) { Verbose = configurationManager.Verbose, SingleApplication = !root }; string basedir = AppDomain.CurrentDomain.BaseDirectory; string curdir = Directory.GetCurrentDirectory (); string dummyVirtualPath = "/"; string physicalPath = @"/home/paul/workspace/totem/web/"; WebConfigurationFileMap map = new WebConfigurationFileMap (); map.VirtualDirectories.Add(dummyVirtualPath, new VirtualDirectoryMapping(physicalPath, true)); Configuration configuration = WebConfigurationManager.OpenMappedWebConfiguration(map, dummyVirtualPath); accountController = new AccountController (); string da = (string) configuration.AppSettings.Settings ["DefaultAvatar"].Value; MembershipSection s = configuration.GetSection ("system.web/membership") as MembershipSection; defaultMembershipProvider = s.DefaultProvider; } [Test ()] public virtual void Register () { ViewResult actionResult = accountController.Register ( new Yavsc.Model.RolesAndMembers.RegisterViewModel () { UserName = UserName, Email = Email, Password = "tpwd", ConfirmPassword = Password, IsApprouved = true }, "/testreturnurl") as ViewResult; Assert.AreSame ("",actionResult.ViewName); MembershipUser u = Membership.GetUser (UserName, false); Assert.NotNull (u); Assert.False (u.IsApproved); // TODO : check mail for test, // get the validation key from its body, // and use the accountController.Validate(username,key) u.IsApproved = true; Membership.UpdateUser (u); Assert.True (u.IsApproved); } [TestFixtureTearDown()] public virtual void Unregister() { ViewResult actionResult = accountController.Unregister (UserName, true) as ViewResult; Assert.AreEqual (actionResult.ViewName, "Index"); } } }