Skip to content

Commit c2d495a

Browse files
committed
Add some tests
1 parent 46fd931 commit c2d495a

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

checks/social_tags_test.go

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package checks
2+
3+
import (
4+
"context"
5+
"net/http"
6+
"testing"
7+
8+
"github.com/stretchr/testify/assert"
9+
"github.com/xray-web/web-check-api/testutils"
10+
)
11+
12+
func TestSocialTagsEmpty(t *testing.T) {
13+
t.Parallel()
14+
15+
t.Run("Empty", func(t *testing.T) {
16+
t.Parallel()
17+
18+
s := SocialTagsData{}
19+
assert.True(t, s.Empty())
20+
})
21+
22+
t.Run("Not empty", func(t *testing.T) {
23+
t.Parallel()
24+
25+
s := SocialTagsData{
26+
Title: "Example Domain",
27+
}
28+
assert.False(t, s.Empty())
29+
})
30+
}
31+
32+
func TestNewSocialTags(t *testing.T) {
33+
t.Parallel()
34+
35+
t.Run("No social tags", func(t *testing.T) {
36+
t.Parallel()
37+
38+
client := testutils.MockClient(testutils.Response(http.StatusOK, []byte{}))
39+
tags, err := NewSocialTags(client).GetSocialTags(context.TODO(), "http://example.com")
40+
assert.NoError(t, err)
41+
assert.True(t, tags.Empty())
42+
})
43+
44+
t.Run("Social tags", func(t *testing.T) {
45+
t.Parallel()
46+
47+
var html = []byte(`
48+
<html>
49+
<head>
50+
<title>Example Domain</title>
51+
<meta name="description" content="Example description">
52+
<meta property="og:title" content="Example OG Title">
53+
</head>
54+
<body></body>
55+
</html>
56+
`)
57+
client := testutils.MockClient(testutils.Response(http.StatusOK, html))
58+
tags, err := NewSocialTags(client).GetSocialTags(context.TODO(), "http://example.com")
59+
assert.NoError(t, err)
60+
assert.False(t, tags.Empty())
61+
assert.Equal(t, "Example description", tags.Description)
62+
assert.Equal(t, "Example Domain", tags.Title)
63+
assert.Equal(t, "Example OG Title", tags.OgTitle)
64+
})
65+
}

0 commit comments

Comments
 (0)