Skip to content

Commit c18dada

Browse files
committed
Merge branch 'master' of https://github.com/r-spacex/SpaceX-API
2 parents 3311d31 + 57c05e2 commit c18dada

File tree

3 files changed

+33
-13
lines changed

3 files changed

+33
-13
lines changed

app.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# launch data.
55
#
66

7+
require 'bundler/setup'
78
require 'sinatra'
89
require 'sinatra/subdomain'
910
require 'json'
@@ -16,6 +17,10 @@
1617
require './data/launchpads.rb'
1718
require './data/dragon.rb'
1819

20+
# Uses the modular version of Sinatra
21+
class SpacexAPI < Sinatra::Base
22+
register Sinatra::Subdomain
23+
1924
# DB connection to MariaDB
2025
DB = Mysql2::Client.new(
2126
:host => ENV['MARIA_HOST'],
@@ -275,3 +280,4 @@ def hash_merge(*hashes)
275280
end
276281
end
277282
end
283+
end

config.ru

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ require './app'
55

66
Bundler.require
77

8-
run Sinatra::Application
8+
run SpacexAPI

test/test.rb

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,41 @@
1-
require "./app.rb"
21
require "test/unit"
32
require "rack/test"
3+
require_relative '../app'
4+
require 'json'
5+
6+
module Rack
7+
module Test
8+
DEFAULT_HOST = "api.example.org"
9+
end
10+
end
411

512
class AppTest < Test::Unit::TestCase
613
include Rack::Test::Methods
714

815
def app
9-
Sinatra::Application
16+
@app = SpacexAPI
1017
end
1118

1219
def test_response_is_ok
1320
get "/"
21+
assert last_response.ok?
1422
end
15-
16-
def test_response_is_ok_for_vehicles
17-
get "/vehicles"
23+
24+
def test_info_response
25+
get "/info"
26+
assert last_response.ok?
27+
data = JSON.parse(last_response.body)
28+
#test out some data that is unlikely to ever change
29+
assert data["name"] == "SpaceX"
1830
end
31+
32+
def test_launchpads_response
33+
get "/launchpads"
34+
assert last_response.ok?
35+
data = JSON.parse(last_response.body)
36+
#make sure we got at least one launchpad back
37+
assert data["launchpads"].count > 0
38+
end
1939

20-
def test_response_is_ok_for_launches_up
21-
get "/launches/upcoming"
22-
end
23-
24-
def test_response_is_ok_for_launchpads
25-
get '/launchpads'
26-
end
40+
2741
end

0 commit comments

Comments
 (0)