Skip to content

Commit 70e0830

Browse files
Move the LinkChecker interface to the models package
1 parent e5dc2e6 commit 70e0830

11 files changed

+34
-26
lines changed

checkers/checker_group.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@ package checkers
33
import (
44
"context"
55

6-
crawler "github.com/thewizardplusplus/go-crawler"
76
"github.com/thewizardplusplus/go-crawler/models"
87
)
98

109
// CheckerGroup ...
11-
type CheckerGroup []crawler.LinkChecker
10+
type CheckerGroup []models.LinkChecker
1211

1312
// CheckLink ...
1413
func (checkers CheckerGroup) CheckLink(

checkers/checker_group_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func TestCheckerGroup_CheckLink(test *testing.T) {
3636
{
3737
name: "without failed checkings",
3838
checkers: CheckerGroup{
39-
func() LinkChecker {
39+
func() models.LinkChecker {
4040
checker := new(MockLinkChecker)
4141
checker.
4242
On("CheckLink", context.Background(), models.SourcedLink{
@@ -47,7 +47,7 @@ func TestCheckerGroup_CheckLink(test *testing.T) {
4747

4848
return checker
4949
}(),
50-
func() LinkChecker {
50+
func() models.LinkChecker {
5151
checker := new(MockLinkChecker)
5252
checker.
5353
On("CheckLink", context.Background(), models.SourcedLink{
@@ -71,7 +71,7 @@ func TestCheckerGroup_CheckLink(test *testing.T) {
7171
{
7272
name: "with a failed checking",
7373
checkers: CheckerGroup{
74-
func() LinkChecker {
74+
func() models.LinkChecker {
7575
checker := new(MockLinkChecker)
7676
checker.
7777
On("CheckLink", context.Background(), models.SourcedLink{

checkers/mock_gen.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package checkers
22

33
import (
44
"github.com/go-log/log"
5-
crawler "github.com/thewizardplusplus/go-crawler"
5+
"github.com/thewizardplusplus/go-crawler/models"
66
httputils "github.com/thewizardplusplus/go-http-utils"
77
)
88

@@ -13,7 +13,7 @@ import (
1313
// It's used only for mock generating.
1414
//
1515
type LinkChecker interface {
16-
crawler.LinkChecker
16+
models.LinkChecker
1717
}
1818

1919
//go:generate mockery --name=Logger --inpackage --case=underscore --testonly

crawl.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,6 @@ import (
99
syncutils "github.com/thewizardplusplus/go-sync-utils"
1010
)
1111

12-
//go:generate mockery --name=LinkChecker --inpackage --case=underscore --testonly
13-
14-
// LinkChecker ...
15-
type LinkChecker interface {
16-
CheckLink(ctx context.Context, link models.SourcedLink) bool
17-
}
18-
1912
//go:generate mockery --name=LinkHandler --inpackage --case=underscore --testonly
2013

2114
// LinkHandler ...
@@ -26,7 +19,7 @@ type LinkHandler interface {
2619
// CrawlDependencies ...
2720
type CrawlDependencies struct {
2821
LinkExtractor models.LinkExtractor
29-
LinkChecker LinkChecker
22+
LinkChecker models.LinkChecker
3023
LinkHandler LinkHandler
3124
Logger log.Logger
3225
}

crawl_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func TestCrawl(test *testing.T) {
6262

6363
return extractor
6464
}(),
65-
LinkChecker: func() LinkChecker {
65+
LinkChecker: func() models.LinkChecker {
6666
checker := new(MockLinkChecker)
6767
checker.
6868
On("CheckLink", context.Background(), models.SourcedLink{
@@ -141,7 +141,7 @@ func TestCrawl(test *testing.T) {
141141

142142
return extractor
143143
}(),
144-
LinkChecker: func() LinkChecker {
144+
LinkChecker: func() models.LinkChecker {
145145
checker := new(MockLinkChecker)
146146
checker.
147147
On("CheckLink", context.Background(), models.SourcedLink{

handle_links_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func TestHandleLinksConcurrently(test *testing.T) {
7070

7171
return extractor
7272
}(),
73-
LinkChecker: func() LinkChecker {
73+
LinkChecker: func() models.LinkChecker {
7474
checker := new(MockLinkChecker)
7575
checker.
7676
On("CheckLink", context.Background(), models.SourcedLink{
@@ -184,7 +184,7 @@ func TestHandleLinks(test *testing.T) {
184184

185185
return extractor
186186
}(),
187-
LinkChecker: func() LinkChecker {
187+
LinkChecker: func() models.LinkChecker {
188188
checker := new(MockLinkChecker)
189189
checker.
190190
On("CheckLink", context.Background(), models.SourcedLink{
@@ -289,7 +289,7 @@ func TestHandleLink(test *testing.T) {
289289

290290
return extractor
291291
}(),
292-
LinkChecker: func() LinkChecker {
292+
LinkChecker: func() models.LinkChecker {
293293
checker := new(MockLinkChecker)
294294
checker.
295295
On("CheckLink", context.Background(), models.SourcedLink{
@@ -352,7 +352,7 @@ func TestHandleLink(test *testing.T) {
352352

353353
return extractor
354354
}(),
355-
LinkChecker: func() LinkChecker {
355+
LinkChecker: func() models.LinkChecker {
356356
checker := new(MockLinkChecker)
357357
checker.
358358
On("CheckLink", context.Background(), models.SourcedLink{

handlers/checked_handler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99

1010
// CheckedHandler ...
1111
type CheckedHandler struct {
12-
LinkChecker crawler.LinkChecker
12+
LinkChecker models.LinkChecker
1313
LinkHandler crawler.LinkHandler
1414
}
1515

handlers/checked_handler_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111

1212
func TestCheckedHandler_HandleLink(test *testing.T) {
1313
type fields struct {
14-
LinkChecker crawler.LinkChecker
14+
LinkChecker models.LinkChecker
1515
LinkHandler crawler.LinkHandler
1616
}
1717
type args struct {
@@ -27,7 +27,7 @@ func TestCheckedHandler_HandleLink(test *testing.T) {
2727
{
2828
name: "with a passed checking",
2929
fields: fields{
30-
LinkChecker: func() crawler.LinkChecker {
30+
LinkChecker: func() models.LinkChecker {
3131
checker := new(MockLinkChecker)
3232
checker.
3333
On("CheckLink", context.Background(), models.SourcedLink{
@@ -61,7 +61,7 @@ func TestCheckedHandler_HandleLink(test *testing.T) {
6161
{
6262
name: "with a not passed checking",
6363
fields: fields{
64-
LinkChecker: func() crawler.LinkChecker {
64+
LinkChecker: func() models.LinkChecker {
6565
checker := new(MockLinkChecker)
6666
checker.
6767
On("CheckLink", context.Background(), models.SourcedLink{

handlers/mock_gen.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package handlers
22

33
import (
44
crawler "github.com/thewizardplusplus/go-crawler"
5+
"github.com/thewizardplusplus/go-crawler/models"
56
)
67

78
//go:generate mockery --name=LinkChecker --inpackage --case=underscore --testonly
@@ -11,7 +12,7 @@ import (
1112
// It's used only for mock generating.
1213
//
1314
type LinkChecker interface {
14-
crawler.LinkChecker
15+
models.LinkChecker
1516
}
1617

1718
//go:generate mockery --name=LinkHandler --inpackage --case=underscore --testonly

mock_gen.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,16 @@ type LinkExtractor interface {
1616
models.LinkExtractor
1717
}
1818

19+
//go:generate mockery --name=LinkChecker --inpackage --case=underscore --testonly
20+
21+
// LinkChecker ...
22+
//
23+
// It's used only for mock generating.
24+
//
25+
type LinkChecker interface {
26+
models.LinkChecker
27+
}
28+
1929
//go:generate mockery --name=Waiter --inpackage --case=underscore --testonly
2030

2131
// Waiter ...

models/models.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,8 @@ type SourcedLink struct {
1414
type LinkExtractor interface {
1515
ExtractLinks(ctx context.Context, threadID int, link string) ([]string, error)
1616
}
17+
18+
// LinkChecker ...
19+
type LinkChecker interface {
20+
CheckLink(ctx context.Context, link SourcedLink) bool
21+
}

0 commit comments

Comments
 (0)