Asertized SAM tests

This commit is contained in:
Denis Arh
2018-08-24 12:05:23 +02:00
parent 279f503702
commit 257219d5f5
8 changed files with 243 additions and 194 deletions
+29 -26
View File
@@ -20,31 +20,34 @@ func TestAttachment(t *testing.T) {
att.ChannelID = 1
att, err = rpo.CreateAttachment(att)
must(t, err)
if att.ChannelID != 1 {
t.Fatal("Changes were not stored")
{
att, err = rpo.CreateAttachment(att)
assert(t, err == nil, "CreateAttachment error: %v", err)
assert(t, att.ChannelID == 1, "Changes were not stored")
{
att.ChannelID = 2
att, err = rpo.UpdateAttachment(att)
assert(t, err == nil, "UpdateAttachment error: %v", err)
assert(t, att.ChannelID == 2, "Changes were not stored")
}
{
att, err = rpo.FindAttachmentByID(att.ID)
assert(t, err == nil, "FindAttachmentByID error: %v", err)
assert(t, att.ChannelID == 2, "Changes were not stored")
}
{
aa, err = rpo.FindAttachmentByRange(2, 0, att.ID)
assert(t, err == nil, "FindAttachmentByRange error: %v", err)
assert(t, len(aa) > 0, "No results found")
}
{
err = rpo.DeleteAttachmentByID(att.ID)
assert(t, err == nil, "DeleteAttachmentByID error: %v", err)
}
}
att.ChannelID = 2
att, err = rpo.UpdateAttachment(att)
must(t, err)
if att.ChannelID != 2 {
t.Fatal("Changes were not stored")
}
att, err = rpo.FindAttachmentByID(att.ID)
must(t, err)
if att.ChannelID != 2 {
t.Fatal("Changes were not stored")
}
aa, err = rpo.FindAttachmentByRange(2, 0, att.ID)
must(t, err)
if len(aa) == 0 {
t.Fatal("No results found")
}
must(t, rpo.DeleteAttachmentByID(att.ID))
}
+53 -38
View File
@@ -20,37 +20,47 @@ func TestChannel(t *testing.T) {
var cc []*types.Channel
chn.Name = name1
{
chn.Name = name1
chn, err = rpo.CreateChannel(chn)
assert(t, err == nil, "CreateChannel error: %v", err)
assert(t, chn.Name == name1, "Changes were not stored")
chn, err = rpo.CreateChannel(chn)
must(t, err)
if chn.Name != name1 {
t.Fatal("Changes were not stored")
{
chn.Name = name2
chn, err = rpo.UpdateChannel(chn)
assert(t, err == nil, "UpdateChannel error: %v", err)
assert(t, chn.Name == name2, "Changes were not stored")
}
{
chn, err = rpo.FindChannelByID(chn.ID)
assert(t, err == nil, "FindChannelByID error: %v", err)
assert(t, chn.Name == name2, "Changes were not stored")
}
{
cc, err = rpo.FindChannels(&types.ChannelFilter{Query: name2})
assert(t, err == nil, "FindChannels error: %v", err)
assert(t, len(cc) > 0, "No results found")
}
{
err = rpo.ArchiveChannelByID(chn.ID)
assert(t, err == nil, "ArchiveChannelByID error: %v", err)
}
{
err = rpo.UnarchiveChannelByID(chn.ID)
assert(t, err == nil, "UnarchiveChannelByID error: %v", err)
}
{
err = rpo.DeleteChannelByID(chn.ID)
assert(t, err == nil, "DeleteChannelByID error: %v", err)
}
}
chn.Name = name2
chn, err = rpo.UpdateChannel(chn)
must(t, err)
if chn.Name != name2 {
t.Fatal("Changes were not stored")
}
chn, err = rpo.FindChannelByID(chn.ID)
must(t, err)
if chn.Name != name2 {
t.Fatal("Changes were not stored")
}
cc, err = rpo.FindChannels(&types.ChannelFilter{Query: name2})
must(t, err)
if len(cc) == 0 {
t.Fatal("No results found")
}
must(t, rpo.ArchiveChannelByID(chn.ID))
must(t, rpo.UnarchiveChannelByID(chn.ID))
must(t, rpo.DeleteChannelByID(chn.ID))
}
func TestChannelMembers(t *testing.T) {
@@ -62,16 +72,21 @@ func TestChannelMembers(t *testing.T) {
}
rpo := New()
chn := &types.Channel{}
chn, err = rpo.CreateChannel(chn)
must(t, err)
usr := &types.User{}
usr, err = rpo.CreateUser(usr)
must(t, err)
_, err = rpo.AddChannelMember(&types.ChannelMember{ChannelID: chn.ID, UserID: usr.ID})
must(t, err)
must(t, rpo.RemoveChannelMember(chn.ID, usr.ID))
{
chn, err = rpo.CreateChannel(chn)
assert(t, err == nil, "CreateChannel: %v", err)
{
usr, err = rpo.CreateUser(usr)
assert(t, err == nil, "CreateUser error: %v", err)
{
_, err = rpo.AddChannelMember(&types.ChannelMember{ChannelID: chn.ID, UserID: usr.ID})
assert(t, err == nil, "AddChannelMember error: %v", err)
}
}
}
}
+10 -4
View File
@@ -1,10 +1,12 @@
package repository
import (
"github.com/namsral/flag"
"fmt"
"github.com/joho/godotenv"
"github.com/namsral/flag"
"github.com/titpetric/factory"
"os"
"runtime"
"testing"
)
@@ -32,8 +34,12 @@ func TestMain(m *testing.M) {
os.Exit(m.Run())
}
func must(t *testing.T, err error) {
if err != nil {
t.Fatalf("Error: %v", err)
func assert(t *testing.T, ok bool, format string, args ...interface{}) bool {
if !ok {
_, file, line, _ := runtime.Caller(1)
caller := fmt.Sprintf("\nAsserted at:%s:%d", file, line)
t.Fatalf(format+caller, args...)
}
return ok
}
+28 -27
View File
@@ -20,33 +20,34 @@ func TestMessage(t *testing.T) {
var mm []*types.Message
msg.Message = msg1
{
msg.Message = msg1
msg, err = rpo.CreateMessage(msg)
assert(t, err == nil, "CreateMessage error: %v", err)
assert(t, msg.Message == msg1, "Changes were not stored")
msg, err = rpo.CreateMessage(msg)
must(t, err)
if msg.Message != msg1 {
t.Fatal("Changes were not stored")
{
msg.Message = msg2
msg, err = rpo.UpdateMessage(msg)
assert(t, err == nil, "UpdateMessage error: %v", err)
assert(t, msg.Message == msg2, "Changes were not stored")
}
{
msg, err = rpo.FindMessageByID(msg.ID)
assert(t, err == nil, "FFindMessageByID error: %v", err)
assert(t, msg.Message == msg2, "Changes were not stored")
}
{
mm, err = rpo.FindMessages(&types.MessageFilter{Query: msg2})
assert(t, err == nil, "FindMessages error: %v", err)
assert(t, len(mm) > 0, "No results found")
}
{
err = rpo.DeleteMessageByID(msg.ID)
assert(t, err == nil, "DeleteMessageByID error: %v", err)
}
}
msg.Message = msg2
msg, err = rpo.UpdateMessage(msg)
must(t, err)
if msg.Message != msg2 {
t.Fatal("Changes were not stored")
}
msg, err = rpo.FindMessageByID(msg.ID)
must(t, err)
if msg.Message != msg2 {
t.Fatal("Changes were not stored")
}
mm, err = rpo.FindMessages(&types.MessageFilter{Query: msg2})
must(t, err)
if len(mm) == 0 {
t.Fatal("No results found")
}
must(t, rpo.DeleteMessageByID(msg.ID))
}
+40 -29
View File
@@ -20,35 +20,46 @@ func TestOrganisation(t *testing.T) {
var oo []*types.Organisation
org.Name = name1
{
org.Name = name1
org, err = rpo.CreateOrganisation(org)
must(t, err)
if org.Name != name1 {
t.Fatal("Changes were not stored")
org, err = rpo.CreateOrganisation(org)
assert(t, err == nil, "CreateOrganisation error: %v", err)
assert(t, org.Name == name1, "Changes were not stored")
{
org.Name = name2
org, err = rpo.UpdateOrganisation(org)
assert(t, err == nil, "UpdateOrganisation error: %v", err)
assert(t, org.Name == name2, "Changes were not stored")
}
{
org, err = rpo.FindOrganisationByID(org.ID)
assert(t, err == nil, "FindOrganisationByID error: %v", err)
assert(t, org.Name == name2, "Changes were not stored")
}
{
oo, err = rpo.FindOrganisations(&types.OrganisationFilter{Query: name2})
assert(t, err == nil, "FindOrganisations error: %v", err)
assert(t, len(oo) != 0, "No results found")
}
{
err = rpo.ArchiveOrganisationByID(org.ID)
assert(t, err == nil, "ArchiveOrganisationByID error: %v", err)
}
{
err = rpo.UnarchiveOrganisationByID(org.ID)
assert(t, err == nil, "UnarchiveOrganisationByID error: %v", err)
}
{
err = rpo.DeleteOrganisationByID(org.ID)
assert(t, err == nil, "DeleteOrganisationByID error: %v", err)
}
}
org.Name = name2
org, err = rpo.UpdateOrganisation(org)
must(t, err)
if org.Name != name2 {
t.Fatal("Changes were not stored")
}
org, err = rpo.FindOrganisationByID(org.ID)
must(t, err)
if org.Name != name2 {
t.Fatal("Changes were not stored")
}
oo, err = rpo.FindOrganisations(&types.OrganisationFilter{Query: name2})
must(t, err)
if len(oo) == 0 {
t.Fatal("No results found")
}
must(t, rpo.ArchiveOrganisationByID(org.ID))
must(t, rpo.UnarchiveOrganisationByID(org.ID))
must(t, rpo.DeleteOrganisationByID(org.ID))
}
+15 -13
View File
@@ -18,19 +18,21 @@ func TestReaction(t *testing.T) {
var reaction = ":laugh:"
react.Reaction = reaction
{
react.Reaction = reaction
react, err = rpo.CreateReaction(react)
assert(t, err == nil, "CreateReaction error: %v", err)
assert(t, react.Reaction == reaction, "Changes were not stored")
react, err = rpo.CreateReaction(react)
must(t, err)
if react.Reaction != reaction {
t.Fatal("Changes were not stored")
{
react, err = rpo.FindReactionByID(react.ID)
assert(t, err == nil, "FindReactionByID error: %v", err)
assert(t, react.Reaction == reaction, "Changes were not stored")
}
{
err = rpo.DeleteReactionByID(react.ID)
assert(t, err == nil, "DeleteReactionByID error: %v", err)
}
}
react, err = rpo.FindReactionByID(react.ID)
must(t, err)
if react.Reaction != reaction {
t.Fatal("Changes were not stored")
}
must(t, rpo.DeleteReactionByID(react.ID))
}
+38 -28
View File
@@ -20,35 +20,45 @@ func TestTeam(t *testing.T) {
var aa []*types.Team
team.Name = name1
{
team.Name = name1
team, err = rpo.CreateTeam(team)
assert(t, err == nil, "CreateTeam error: %v", err)
assert(t, team.Name == name1, "Changes were not stored")
team, err = rpo.CreateTeam(team)
must(t, err)
if team.Name != name1 {
t.Fatal("Changes were not stored")
{
team.Name = name2
team, err = rpo.UpdateTeam(team)
assert(t, err == nil, "UpdateTeam error: %v", err)
assert(t, team.Name == name2, "Changes were not stored")
}
{
team, err = rpo.FindTeamByID(team.ID)
assert(t, err == nil, "FindTeamByID error: %v", err)
assert(t, team.Name == name2, "Changes were not stored")
}
{
aa, err = rpo.FindTeams(&types.TeamFilter{Query: name2})
assert(t, err == nil, "FindTeams error: %v", err)
assert(t, len(aa) > 0, "No results found")
}
{
err = rpo.ArchiveTeamByID(team.ID)
assert(t, err == nil, "ArchiveTeamByID error: %v", err)
}
{
err = rpo.UnarchiveTeamByID(team.ID)
assert(t, err == nil, "UnarchiveTeamByID error: %v", err)
}
{
err = rpo.DeleteTeamByID(team.ID)
assert(t, err == nil, "DeleteTeamByID error: %v", err)
}
}
team.Name = name2
team, err = rpo.UpdateTeam(team)
must(t, err)
if team.Name != name2 {
t.Fatal("Changes were not stored")
}
team, err = rpo.FindTeamByID(team.ID)
must(t, err)
if team.Name != name2 {
t.Fatal("Changes were not stored")
}
aa, err = rpo.FindTeams(&types.TeamFilter{Query: name2})
must(t, err)
if len(aa) == 0 {
t.Fatal("No results found")
}
must(t, rpo.ArchiveTeamByID(team.ID))
must(t, rpo.UnarchiveTeamByID(team.ID))
must(t, rpo.DeleteTeamByID(team.ID))
}
+30 -29
View File
@@ -14,39 +14,40 @@ func TestUser(t *testing.T) {
}
rpo := New()
team := &types.Team{}
team := &types.User{}
var name1, name2 = "Test user v1", "Test user v2"
var aa []*types.Team
var aa []*types.User
team.Name = name1
{
team.Username = name1
team, err = rpo.CreateUser(team)
assert(t, err == nil, "CreateUser error: %v", err)
assert(t, team.Username == name1, "Changes were not stored")
team, err = rpo.CreateTeam(team)
must(t, err)
if team.Name != name1 {
t.Fatal("Changes were not stored")
{
team.Username = name2
team, err = rpo.UpdateUser(team)
assert(t, err == nil, "UpdateUser error: %v", err)
assert(t, team.Username == name2, "Changes were not stored")
}
{
team, err = rpo.FindUserByID(team.ID)
assert(t, err == nil, "FindUserByID error: %v", err)
assert(t, team.Username == name2, "Changes were not stored")
}
{
aa, err = rpo.FindUsers(&types.UserFilter{Query: name2})
assert(t, err == nil, "FindUsers error: %v", err)
assert(t, len(aa) > 0, "No results found")
}
{
err = rpo.DeleteUserByID(team.ID)
assert(t, err == nil, "DeleteUserByID error: %v", err)
}
}
team.Name = name2
team, err = rpo.UpdateTeam(team)
must(t, err)
if team.Name != name2 {
t.Fatal("Changes were not stored")
}
team, err = rpo.FindTeamByID(team.ID)
must(t, err)
if team.Name != name2 {
t.Fatal("Changes were not stored")
}
aa, err = rpo.FindTeams(&types.TeamFilter{Query: name2})
must(t, err)
if len(aa) == 0 {
t.Fatal("No results found")
}
must(t, rpo.DeleteTeamByID(team.ID))
}