-
Notifications
You must be signed in to change notification settings - Fork 42
/
metadata.go
95 lines (89 loc) · 4.08 KB
/
metadata.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package e2e
import (
"crypto/sha256"
"time"
"github.com/lbryio/chainquery/model"
"github.com/lbryio/lbry.go/extras/errors"
"github.com/lbryio/lbryschema.go/claim"
pb "github.com/lbryio/types/v2/go"
"github.com/volatiletech/sqlboiler/queries/qm"
)
func testVideoMetaData() {
pbClaim, err := newVideoStreamClaim()
exitOnErr(errors.Err(err))
pbClaim.Claim.Title = "Angry Tom Fights Back!"
pbClaim.Claim.Description = "Long ago in a galaxy far far away, Tom came up with an idea to transform the game of angry birds."
pbClaim.Claim.Tags = []string{"mature", "tom", "angry", "angry birds"}
pbClaim.Claim.Thumbnail = new(pb.Source)
pbClaim.Claim.GetThumbnail().Url = "http://www.lbry.com/images/angrytompreview.jpeg"
pbClaim.GetStream().Author = "Mark Beamer Jr"
pbClaim.GetStream().GetVideo().Height = 100
pbClaim.GetStream().GetVideo().Width = 200
pbClaim.GetStream().GetVideo().Audio = new(pb.Audio)
pbClaim.GetStream().GetVideo().GetAudio().Duration = 1200
pbClaim.GetStream().ReleaseTime = time.Now().Unix()
pbClaim.GetStream().Source = new(pb.Source)
pbClaim.GetStream().GetSource().Size = 1500
sha := sha256.Sum256([]byte("sdhash"))
pbClaim.GetStream().GetSource().SdHash = sha[:]
pbClaim.GetStream().GetSource().Url = "MySourceURL"
pbClaim.GetStream().GetSource().MediaType = "video"
pbClaim.GetStream().GetSource().Name = "angrytom.mpeg"
sha = sha256.Sum256([]byte("hash"))
pbClaim.GetStream().GetSource().Hash = sha[:]
pbClaim.Version = claim.NoSig
test(func() {
rawTx, err := getEmptyTx(claimAmount * 1)
exitOnErr(errors.Err(err))
exitOnErr(addClaimToTx(rawTx, pbClaim, "testvideo"))
_, err = signTxAndSend(rawTx)
exitOnErr(errors.Err(err))
}, func() error {
claim, err := model.Claims(qm.Where("name = ?", "testvideo")).OneG()
exitOnErr(errors.Err(err))
verify(claim.Title.String == pbClaim.Claim.GetTitle(), "Title does not match after publishing")
verify(claim.Description.String == pbClaim.Claim.GetDescription(), "Description doesnt match")
verify(claim.Name == "testvideo", "Claim name doesnt match")
verify(claim.AudioDuration.Uint64 == uint64(pbClaim.GetStream().GetVideo().GetAudio().Duration), "Video audio duration doesnt match")
verify(claim.FrameHeight.Uint64 == uint64(pbClaim.GetStream().GetVideo().GetHeight()), "Video height doesnt match")
verify(claim.FrameWidth.Uint64 == uint64(pbClaim.GetStream().GetVideo().GetWidth()), "Video width doesnt match")
return nil
}, 1)
}
func testImageMetadata() {
pbClaim, err := newImageStreamClaim()
exitOnErr(errors.Err(err))
pbClaim.Claim.Title = "Angry Tom Fights Back!"
pbClaim.Claim.Description = "Long ago in a galaxy far far away, Tom came up with an idea to transform the game of angry birds."
pbClaim.Claim.Tags = []string{"mature", "tom", "angry", "angry birds"}
pbClaim.Claim.Thumbnail = new(pb.Source)
pbClaim.Claim.GetThumbnail().Url = "http://www.lbry.com/images/angrytompreview.jpeg"
pbClaim.GetStream().Author = "Mark Beamer Jr"
pbClaim.GetStream().GetImage().Height = 100
pbClaim.GetStream().GetImage().Width = 200
pbClaim.GetStream().ReleaseTime = time.Now().Unix()
pbClaim.GetStream().Source = new(pb.Source)
pbClaim.GetStream().GetSource().Size = 1500
sha := sha256.Sum256([]byte("sdhash"))
pbClaim.GetStream().GetSource().SdHash = sha[:]
pbClaim.GetStream().GetSource().Url = "MySourceURL"
pbClaim.GetStream().GetSource().MediaType = "video"
pbClaim.GetStream().GetSource().Name = "angrytom.mpeg"
sha = sha256.Sum256([]byte("hash"))
pbClaim.GetStream().GetSource().Hash = sha[:]
pbClaim.Version = claim.NoSig
test(func() {
rawTx, err := getEmptyTx(claimAmount * 1)
exitOnErr(errors.Err(err))
exitOnErr(addClaimToTx(rawTx, pbClaim, "testimage"))
_, err = signTxAndSend(rawTx)
exitOnErr(errors.Err(err))
}, func() error {
claim, err := model.Claims(qm.Where("name = ?", "testimage")).OneG()
exitOnErr(errors.Err(err))
verify(claim.Title.String == pbClaim.Claim.GetTitle(), "Title does not match after publishing")
verify(claim.Description.String == pbClaim.Claim.GetDescription(), "Description doesnt match")
verify(claim.Name == "testimage", "Claim name doesnt match")
return nil
}, 1)
}