Newer
Older
gitbucket_jkp / src / test / scala / service / AccountServiceSpec.scala
@xuwei-k xuwei-k on 11 Oct 2013 2 KB add AccountServiceSpec
  1. package service
  2.  
  3. import org.specs2.mutable.Specification
  4. import java.util.Date
  5.  
  6. class AccountServiceSpec extends Specification with SpecBase {
  7.  
  8. "AccountService" should {
  9. val RootMailAddress = "root@localhost"
  10.  
  11. "getAllUsers" in { withTestDB{
  12. AccountService.getAllUsers must be like{
  13. case List(model.Account("root", RootMailAddress, _, true, _, _, _, None, None, false)) => ok
  14. }
  15. }}
  16.  
  17. "getAccountByUserName" in { withTestDB{
  18. AccountService.getAccountByUserName("root") must beSome.like{
  19. case user => user.userName must_== "root"
  20. }
  21.  
  22. AccountService.getAccountByUserName("invalid user name") must beNone
  23. }}
  24.  
  25. "getAccountByMailAddress" in { withTestDB{
  26. AccountService.getAccountByMailAddress(RootMailAddress) must beSome
  27. }}
  28.  
  29. "updateLastLoginDate" in { withTestDB{
  30. val root = "root"
  31. def user() =
  32. AccountService.getAccountByUserName(root).getOrElse(sys.error(s"user $root does not exists"))
  33.  
  34. user().lastLoginDate must beNone
  35. val date1 = new Date
  36. AccountService.updateLastLoginDate(root)
  37. user().lastLoginDate must beSome.like{ case date =>
  38. date must be_>(date1)
  39. }
  40. val date2 = new Date
  41. Thread.sleep(1000)
  42. AccountService.updateLastLoginDate(root)
  43. user().lastLoginDate must beSome.like{ case date =>
  44. date must be_>(date2)
  45. }
  46. }}
  47.  
  48. "updateAccount" in { withTestDB{
  49. val root = "root"
  50. def user() =
  51. AccountService.getAccountByUserName(root).getOrElse(sys.error(s"user $root does not exists"))
  52.  
  53. val newAddress = "new mail address"
  54. AccountService.updateAccount(user().copy(mailAddress = newAddress))
  55. user().mailAddress must_== newAddress
  56. }}
  57.  
  58. "group" in { withTestDB {
  59. val group1 = "group1"
  60. val user1 = "root"
  61. AccountService.createGroup(group1, None)
  62.  
  63. AccountService.getGroupMembers(group1) must_== Nil
  64. AccountService.getGroupsByUserName(user1) must_== Nil
  65.  
  66. AccountService.updateGroupMembers(group1, List(user1))
  67.  
  68. AccountService.getGroupMembers(group1) must_== List(user1)
  69. AccountService.getGroupsByUserName(user1) must_== List(group1)
  70.  
  71. AccountService.updateGroupMembers(group1, Nil)
  72.  
  73. AccountService.getGroupMembers(group1) must_== Nil
  74. AccountService.getGroupsByUserName(user1) must_== Nil
  75. }}
  76. }
  77. }