File tree Expand file tree Collapse file tree 3 files changed +33
-13
lines changed Expand file tree Collapse file tree 3 files changed +33
-13
lines changed Original file line number Diff line number Diff line change 44# launch data.
55#
66
7+ require 'bundler/setup'
78require 'sinatra'
89require 'sinatra/subdomain'
910require 'json'
1617require './data/launchpads.rb'
1718require './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
2025DB = Mysql2 ::Client . new (
2126 :host => ENV [ 'MARIA_HOST' ] ,
@@ -275,3 +280,4 @@ def hash_merge(*hashes)
275280 end
276281end
277282end
283+ end
Original file line number Diff line number Diff line change @@ -5,4 +5,4 @@ require './app'
55
66Bundler . require
77
8- run Sinatra :: Application
8+ run SpacexAPI
Original file line number Diff line number Diff line change 1- require "./app.rb"
21require "test/unit"
32require "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
512class 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+
2741end
You can’t perform that action at this time.
0 commit comments