github.com/edermi/gophish_mods@v0.7.0/models/user_test.go (about)

     1  package models
     2  
     3  import (
     4  	"github.com/jinzhu/gorm"
     5  	"gopkg.in/check.v1"
     6  )
     7  
     8  func (s *ModelsSuite) TestGetUserExists(c *check.C) {
     9  	u, err := GetUser(1)
    10  	c.Assert(err, check.Equals, nil)
    11  	c.Assert(u.Username, check.Equals, "admin")
    12  }
    13  
    14  func (s *ModelsSuite) TestGetUserByUsernameWithExistingUser(c *check.C) {
    15  	u, err := GetUserByUsername("admin")
    16  	c.Assert(err, check.Equals, nil)
    17  	c.Assert(u.Username, check.Equals, "admin")
    18  }
    19  
    20  func (s *ModelsSuite) TestGetUserDoesNotExist(c *check.C) {
    21  	u, err := GetUser(100)
    22  	c.Assert(err, check.Equals, gorm.ErrRecordNotFound)
    23  	c.Assert(u.Username, check.Equals, "")
    24  }
    25  
    26  func (s *ModelsSuite) TestGetUserByAPIKeyWithExistingAPIKey(c *check.C) {
    27  	u, err := GetUser(1)
    28  	c.Assert(err, check.Equals, nil)
    29  
    30  	u, err = GetUserByAPIKey(u.ApiKey)
    31  }
    32  
    33  func (s *ModelsSuite) TestGetUserByAPIKeyWithNotExistingAPIKey(c *check.C) {
    34  	u, err := GetUser(1)
    35  	c.Assert(err, check.Equals, nil)
    36  
    37  	u, err = GetUserByAPIKey(u.ApiKey + "test")
    38  	c.Assert(err, check.Equals, gorm.ErrRecordNotFound)
    39  	c.Assert(u.Username, check.Equals, "")
    40  }
    41  
    42  func (s *ModelsSuite) TestGetUserByUsernameWithNotExistingUser(c *check.C) {
    43  	u, err := GetUserByUsername("test user does not exist")
    44  	c.Assert(err, check.Equals, gorm.ErrRecordNotFound)
    45  	c.Assert(u.Username, check.Equals, "")
    46  }
    47  
    48  func (s *ModelsSuite) TestPutUser(c *check.C) {
    49  	u, err := GetUser(1)
    50  	u.Username = "admin_changed"
    51  	err = PutUser(&u)
    52  	c.Assert(err, check.Equals, nil)
    53  	u, err = GetUser(1)
    54  	c.Assert(u.Username, check.Equals, "admin_changed")
    55  }
    56  
    57  func (s *ModelsSuite) TestGeneratedAPIKey(c *check.C) {
    58  	u, err := GetUser(1)
    59  	c.Assert(err, check.Equals, nil)
    60  	c.Assert(u.ApiKey, check.Not(check.Equals), "12345678901234567890123456789012")
    61  }