From 257219d5f51c4b73b2a657f38056b9dbf6a62e25 Mon Sep 17 00:00:00 2001 From: Denis Arh Date: Fri, 24 Aug 2018 12:05:23 +0200 Subject: [PATCH] Asertized SAM tests --- sam/repository/attachment_test.go | 55 ++++++++--------- sam/repository/channel_test.go | 91 +++++++++++++++++------------ sam/repository/main_test.go | 14 +++-- sam/repository/message_test.go | 55 ++++++++--------- sam/repository/organisation_test.go | 69 +++++++++++++--------- sam/repository/reaction_test.go | 28 ++++----- sam/repository/team_test.go | 66 ++++++++++++--------- sam/repository/user_test.go | 59 ++++++++++--------- 8 files changed, 243 insertions(+), 194 deletions(-) diff --git a/sam/repository/attachment_test.go b/sam/repository/attachment_test.go index bc7246762..5d7cf96c6 100644 --- a/sam/repository/attachment_test.go +++ b/sam/repository/attachment_test.go @@ -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)) } diff --git a/sam/repository/channel_test.go b/sam/repository/channel_test.go index 90afbb9a4..0177aa059 100644 --- a/sam/repository/channel_test.go +++ b/sam/repository/channel_test.go @@ -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) + } + } + } } diff --git a/sam/repository/main_test.go b/sam/repository/main_test.go index d837926c9..f8ea4c276 100644 --- a/sam/repository/main_test.go +++ b/sam/repository/main_test.go @@ -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 } diff --git a/sam/repository/message_test.go b/sam/repository/message_test.go index 952609906..f12f97300 100644 --- a/sam/repository/message_test.go +++ b/sam/repository/message_test.go @@ -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)) } diff --git a/sam/repository/organisation_test.go b/sam/repository/organisation_test.go index 47cf2aafa..a7ebf7f59 100644 --- a/sam/repository/organisation_test.go +++ b/sam/repository/organisation_test.go @@ -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)) } diff --git a/sam/repository/reaction_test.go b/sam/repository/reaction_test.go index 4a7d90762..6c5aad126 100644 --- a/sam/repository/reaction_test.go +++ b/sam/repository/reaction_test.go @@ -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)) } diff --git a/sam/repository/team_test.go b/sam/repository/team_test.go index d11b75122..4e6affd09 100644 --- a/sam/repository/team_test.go +++ b/sam/repository/team_test.go @@ -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)) } diff --git a/sam/repository/user_test.go b/sam/repository/user_test.go index 5569f24b6..aead7a87c 100644 --- a/sam/repository/user_test.go +++ b/sam/repository/user_test.go @@ -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)) }