strike_api 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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