X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/blobdiff_plain/9cf66aeafbcbb9237fedc2efc97cc2856eb60f7f..6610ee2030baa99e6129c7b06588d33038dde671:/hotline/news_test.go?ds=sidebyside diff --git a/hotline/news_test.go b/hotline/news_test.go index 44776dd..588c979 100644 --- a/hotline/news_test.go +++ b/hotline/news_test.go @@ -1,10 +1,62 @@ package hotline import ( - "reflect" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/mock" + "io" "testing" ) +type mockThreadNewsMgr struct { + mock.Mock +} + +func (m *mockThreadNewsMgr) ListArticles(newsPath []string) NewsArtListData { + args := m.Called(newsPath) + + return args.Get(0).(NewsArtListData) +} + +func (m *mockThreadNewsMgr) GetArticle(newsPath []string, articleID uint32) *NewsArtData { + args := m.Called(newsPath, articleID) + + return args.Get(0).(*NewsArtData) +} +func (m *mockThreadNewsMgr) DeleteArticle(newsPath []string, articleID uint32, recursive bool) error { + args := m.Called(newsPath, articleID, recursive) + + return args.Error(0) +} + +func (m *mockThreadNewsMgr) PostArticle(newsPath []string, parentArticleID uint32, article NewsArtData) error { + args := m.Called(newsPath, parentArticleID, article) + + return args.Error(0) +} +func (m *mockThreadNewsMgr) CreateGrouping(newsPath []string, name string, itemType [2]byte) error { + args := m.Called(newsPath, name, itemType) + + return args.Error(0) +} + +func (m *mockThreadNewsMgr) GetCategories(paths []string) []NewsCategoryListData15 { + args := m.Called(paths) + + return args.Get(0).([]NewsCategoryListData15) +} + +func (m *mockThreadNewsMgr) NewsItem(newsPath []string) NewsCategoryListData15 { + args := m.Called(newsPath) + + return args.Get(0).(NewsCategoryListData15) +} + +func (m *mockThreadNewsMgr) DeleteNewsItem(newsPath []string) error { + args := m.Called(newsPath) + + return args.Error(0) +} + func TestNewsCategoryListData15_MarshalBinary(t *testing.T) { type fields struct { Type [2]byte @@ -12,9 +64,9 @@ func TestNewsCategoryListData15_MarshalBinary(t *testing.T) { Articles map[uint32]*NewsArtData SubCats map[string]NewsCategoryListData15 Count []byte - AddSN []byte - DeleteSN []byte - GUID []byte + AddSN [4]byte + DeleteSN [4]byte + GUID [16]byte } tests := []struct { name string @@ -60,8 +112,8 @@ func TestNewsCategoryListData15_MarshalBinary(t *testing.T) { 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x66, 0x6f, 0x6f, }, @@ -75,12 +127,11 @@ func TestNewsCategoryListData15_MarshalBinary(t *testing.T) { Name: tt.fields.Name, Articles: tt.fields.Articles, SubCats: tt.fields.SubCats, - Count: tt.fields.Count, AddSN: tt.fields.AddSN, DeleteSN: tt.fields.DeleteSN, GUID: tt.fields.GUID, } - gotData, err := newscat.MarshalBinary() + gotData, err := io.ReadAll(newscat) if newscat.Type == [2]byte{0, 3} { // zero out the random GUID before comparison for i := 4; i < 20; i++ { @@ -91,7 +142,7 @@ func TestNewsCategoryListData15_MarshalBinary(t *testing.T) { t.Errorf("MarshalBinary() error = %v, wantErr %v", err, tt.wantErr) return } - if !reflect.DeepEqual(gotData, tt.wantData) { + if !assert.Equal(t, tt.wantData, gotData) { t.Errorf("MarshalBinary() gotData = %v, want %v", gotData, tt.wantData) } })