strike_api 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.editorconfig +9 -0
- data/.gitignore +14 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +31 -0
- data/Rakefile +2 -0
- data/lib/strike_api/torrent.rb +86 -0
- data/lib/strike_api/version.rb +3 -0
- data/lib/strike_api.rb +2 -0
- data/strike_api.gemspec +28 -0
- data/test/fixtures/test_find_array.yml +53 -0
- data/test/fixtures/test_find_no_torrents.yml +47 -0
- data/test/fixtures/test_find_single_torrent.yml +51 -0
- data/test/fixtures/test_search.yml +49 -0
- data/test/fixtures/test_searchCat.yml +254 -0
- data/test/fixtures/test_searchCatSubCat.yml +253 -0
- data/test/fixtures/test_searchSubCat.yml +251 -0
- data/test/fixtures/test_search_no_torrents.yml +47 -0
- data/test/test_helper.rb +9 -0
- data/test/torrent/torrent_test.rb +127 -0
- metadata +173 -0
@@ -0,0 +1,127 @@
|
|
1
|
+
require './test/test_helper'
|
2
|
+
|
3
|
+
class StrikeTorrentTest < Minitest::Test
|
4
|
+
def test_exists
|
5
|
+
assert StrikeApi::Torrent
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_find_single_torrent
|
9
|
+
VCR.use_cassette('test_find_single_torrent') do
|
10
|
+
result = StrikeApi::Torrent.find("156B69B8643BD11849A5D8F2122E13FBB61BD041")[0]
|
11
|
+
assert_equal StrikeApi::Torrent, result.class
|
12
|
+
assert_equal "156B69B8643BD11849A5D8F2122E13FBB61BD041", result.hash
|
13
|
+
assert_equal "Slackware 14.1 x86_64 DVD ISO", result.title
|
14
|
+
assert_equal "Applications", result.category
|
15
|
+
assert_equal "", result.sub_category
|
16
|
+
assert_equal 192, result.seeds
|
17
|
+
assert_equal 9, result.leeches
|
18
|
+
assert_equal 4, result.file_count
|
19
|
+
assert_equal 2437393940, result.size
|
20
|
+
# assert_equal 40, result.download_count
|
21
|
+
assert_equal "Feb 24, 2014", result.upload_date
|
22
|
+
assert_equal "Nusantara", result.uploader_username
|
23
|
+
assert_equal "magnet:?xt=urn:btih:156B69B8643BD11849A5D8F2122E13FBB61BD041&dn=Slackware+14.1+x86_64+DVD+ISO&tr=udp:\/\/open.demonii.com:1337&tr=udp:\/\/tracker.coppersurfer.tk:6969&tr=udp:\/\/tracker.leechers-paradise.org:6969&tr=udp:\/\/exodus.desync.com:6969", result.magnet_uri
|
24
|
+
end
|
25
|
+
end
|
26
|
+
def test_find_no_torrents
|
27
|
+
VCR.use_cassette('test_find_no_torrents') do
|
28
|
+
begin
|
29
|
+
result = StrikeApi::Torrent.find("156B69B8643BD1184D041")[0]
|
30
|
+
rescue => e
|
31
|
+
assert_equal "Strike API error: 404 - No torrents found with provided hashes", e.message
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
def test_search_no_torrents
|
36
|
+
VCR.use_cassette('test_search_no_torrents') do
|
37
|
+
begin
|
38
|
+
result = StrikeApi::Torrent.search("123456789abcdefg")[0]
|
39
|
+
rescue => e
|
40
|
+
assert_equal "Strike API error: 404 - No torrents found.", e.message
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
def test_search
|
45
|
+
VCR.use_cassette('test_search') do
|
46
|
+
result = StrikeApi::Torrent.search("Slackware 14.1 x86_64 DVD ISO")
|
47
|
+
assert_equal 1, result.length
|
48
|
+
assert result.kind_of?(Array)
|
49
|
+
assert result.first.kind_of?(StrikeApi::Torrent)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_searchCat
|
54
|
+
VCR.use_cassette('test_searchCat') do
|
55
|
+
result = StrikeApi::Torrent.searchCat("windows", "Applications")
|
56
|
+
assert_equal 100, result.length
|
57
|
+
assert result.kind_of?(Array)
|
58
|
+
assert result.first.kind_of?(StrikeApi::Torrent)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_searchSubCat
|
63
|
+
VCR.use_cassette('test_searchSubCat') do
|
64
|
+
result = StrikeApi::Torrent.searchSubCat("windows", "Windows")
|
65
|
+
assert_equal 100, result.length
|
66
|
+
assert result.kind_of?(Array)
|
67
|
+
assert result.first.kind_of?(StrikeApi::Torrent)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def test_searchCatSubCat
|
72
|
+
VCR.use_cassette('test_searchCatSubCat') do
|
73
|
+
result = StrikeApi::Torrent.searchCatSubCat("windows", "Applications", "Windows")
|
74
|
+
assert_equal 100, result.length
|
75
|
+
assert result.kind_of?(Array)
|
76
|
+
assert result.first.kind_of?(StrikeApi::Torrent)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_find_array
|
81
|
+
VCR.use_cassette('test_find_array') do
|
82
|
+
result = StrikeApi::Torrent.find(["156B69B8643BD11849A5D8F2122E13FBB61BD041","B425907E5755031BDA4A8D1B6DCCACA97DA14C04"])
|
83
|
+
result1 = result[0]
|
84
|
+
result2 = result[1]
|
85
|
+
# Torrent 1: Slackware ISO
|
86
|
+
assert_equal StrikeApi::Torrent, result1.class
|
87
|
+
assert_equal "156B69B8643BD11849A5D8F2122E13FBB61BD041", result1.hash
|
88
|
+
assert_equal "Slackware 14.1 x86_64 DVD ISO", result1.title
|
89
|
+
assert_equal "Applications", result1.category
|
90
|
+
assert_equal "", result1.sub_category
|
91
|
+
assert_equal 192, result1.seeds
|
92
|
+
assert_equal 9, result1.leeches
|
93
|
+
assert_equal 4, result1.file_count
|
94
|
+
assert_equal 2437393940, result1.size
|
95
|
+
# assert_equal 40, result1.download_count
|
96
|
+
assert_equal "Feb 24, 2014", result1.upload_date
|
97
|
+
assert_equal "Nusantara", result1.uploader_username
|
98
|
+
assert_equal "magnet:?xt=urn:btih:156B69B8643BD11849A5D8F2122E13FBB61BD041&dn=Slackware+14.1+x86_64+DVD+ISO&tr=udp:\/\/open.demonii.com:1337&tr=udp:\/\/tracker.coppersurfer.tk:6969&tr=udp:\/\/tracker.leechers-paradise.org:6969&tr=udp:\/\/exodus.desync.com:6969", result1.magnet_uri
|
99
|
+
# Torrent 2: Arch ISO
|
100
|
+
assert_equal StrikeApi::Torrent, result2.class
|
101
|
+
assert_equal "B425907E5755031BDA4A8D1B6DCCACA97DA14C04", result2.hash
|
102
|
+
assert_equal "Arch Linux 2015.01.01 (x86\/x64)", result2.title
|
103
|
+
assert_equal "Applications", result2.category
|
104
|
+
assert_equal "", result2.sub_category
|
105
|
+
assert_equal 645, result2.seeds
|
106
|
+
assert_equal 13, result2.leeches
|
107
|
+
assert_equal 1, result2.file_count
|
108
|
+
assert_equal 615514112, result2.size
|
109
|
+
# assert_equal 40, result2.download_count
|
110
|
+
assert_equal "Jan 6, 2015", result2.upload_date
|
111
|
+
assert_equal "The_Doctor-", result2.uploader_username
|
112
|
+
assert_equal "magnet:?xt=urn:btih:B425907E5755031BDA4A8D1B6DCCACA97DA14C04&dn=Arch+Linux+2015.01.01+%28x86%2Fx64%29&tr=udp:\/\/open.demonii.com:1337&tr=udp:\/\/tracker.coppersurfer.tk:6969&tr=udp:\/\/tracker.leechers-paradise.org:6969&tr=udp:\/\/exodus.desync.com:6969", result2.magnet_uri
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
def test_catagoriesAvailable
|
117
|
+
result = StrikeApi::Torrent.catagoriesAvailable
|
118
|
+
assert result.kind_of?(Array)
|
119
|
+
assert result.first.kind_of?(String)
|
120
|
+
end
|
121
|
+
|
122
|
+
def test_subCatagoriesAvailable
|
123
|
+
result = StrikeApi::Torrent.subCatagoriesAvailable
|
124
|
+
assert result.kind_of?(Array)
|
125
|
+
assert result.first.kind_of?(String)
|
126
|
+
end
|
127
|
+
end
|
metadata
ADDED
@@ -0,0 +1,173 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: strike_api
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Marshall Ford
|
8
|
+
- Brett Chastain
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2015-04-11 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bundler
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
21
|
+
type: :development
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rake
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: minitest
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: vcr
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: webmock
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: httparty
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
type: :runtime
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: json
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
type: :runtime
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
description: API wrapper for the Strike Search website (http://getstrike.net)
|
113
|
+
email:
|
114
|
+
- inbox@marshallford.me
|
115
|
+
executables: []
|
116
|
+
extensions: []
|
117
|
+
extra_rdoc_files: []
|
118
|
+
files:
|
119
|
+
- ".editorconfig"
|
120
|
+
- ".gitignore"
|
121
|
+
- Gemfile
|
122
|
+
- LICENSE.txt
|
123
|
+
- README.md
|
124
|
+
- Rakefile
|
125
|
+
- lib/strike_api.rb
|
126
|
+
- lib/strike_api/torrent.rb
|
127
|
+
- lib/strike_api/version.rb
|
128
|
+
- strike_api.gemspec
|
129
|
+
- test/fixtures/test_find_array.yml
|
130
|
+
- test/fixtures/test_find_no_torrents.yml
|
131
|
+
- test/fixtures/test_find_single_torrent.yml
|
132
|
+
- test/fixtures/test_search.yml
|
133
|
+
- test/fixtures/test_searchCat.yml
|
134
|
+
- test/fixtures/test_searchCatSubCat.yml
|
135
|
+
- test/fixtures/test_searchSubCat.yml
|
136
|
+
- test/fixtures/test_search_no_torrents.yml
|
137
|
+
- test/test_helper.rb
|
138
|
+
- test/torrent/torrent_test.rb
|
139
|
+
homepage: https://github.com/marshallford/strike_api
|
140
|
+
licenses:
|
141
|
+
- MIT
|
142
|
+
metadata: {}
|
143
|
+
post_install_message:
|
144
|
+
rdoc_options: []
|
145
|
+
require_paths:
|
146
|
+
- lib
|
147
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - ">="
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
|
+
requirements:
|
154
|
+
- - ">="
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: '0'
|
157
|
+
requirements: []
|
158
|
+
rubyforge_project:
|
159
|
+
rubygems_version: 2.2.2
|
160
|
+
signing_key:
|
161
|
+
specification_version: 4
|
162
|
+
summary: Wrapper for the Strike API.
|
163
|
+
test_files:
|
164
|
+
- test/fixtures/test_find_array.yml
|
165
|
+
- test/fixtures/test_find_no_torrents.yml
|
166
|
+
- test/fixtures/test_find_single_torrent.yml
|
167
|
+
- test/fixtures/test_search.yml
|
168
|
+
- test/fixtures/test_searchCat.yml
|
169
|
+
- test/fixtures/test_searchCatSubCat.yml
|
170
|
+
- test/fixtures/test_searchSubCat.yml
|
171
|
+
- test/fixtures/test_search_no_torrents.yml
|
172
|
+
- test/test_helper.rb
|
173
|
+
- test/torrent/torrent_test.rb
|