Skip to content
Snippets Groups Projects
Commit 0e830aa5 authored by Bjørnar Larsen's avatar Bjørnar Larsen
Browse files

Moved all test files

parent 8b026704
Branches
No related tags found
1 merge request!4Finished app
package test
package cloudproject
import (
"cloudproject"
"testing"
)
func TestMockDatabase(t *testing.T) {
// this needs to compile!
func(db cloudproject.Database) {
func(db Database) {
// looks like db complies with the interface
err := db.Init()
if err != nil {
t.Error(err)
}
_, err = db.AddReview(&cloudproject.Review{})
_, err = db.AddReview(&Review{})
if err != nil {
t.Error(err)
}
......@@ -27,19 +26,19 @@ func TestMockDatabase(t *testing.T) {
t.Error(err)
}
// all methods work!
}(&cloudproject.MockDatabase{})
}(&MockDatabase{})
}
func TestFirestoreDatabase(t *testing.T) {
// this needs to compile!
func(db cloudproject.Database) {
func(db Database) {
// looks like db complies with the interface
err := db.Init()
if err != nil {
t.Error(err)
}
//Adding a test review
review := cloudproject.Review{
review := Review{
Navn: "Test",
TurID: "Test",
Beskrivelse: "Test",
......@@ -50,7 +49,7 @@ func TestFirestoreDatabase(t *testing.T) {
t.Error(err)
}
//checking if test review was added correctly
var result[] cloudproject.Review
var result[] Review
result, err = db.GetByID("Test")
if !(result[0].Navn == "Test" && result[0].TurID == "Test" && result[0].Beskrivelse == "Test" && result[0].TerningKast == 1){
t.Errorf("ERROR: adding to database\n%v\n", err)
......@@ -64,5 +63,5 @@ func TestFirestoreDatabase(t *testing.T) {
}(&cloudproject.FirestoreDatabase{ProjectID: "altocumulus-5c3b3", CollectionName: "reviews"})
}(&FirestoreDatabase{ProjectID: "altocumulus-5c3b3", CollectionName: "reviews"})
}
\ No newline at end of file
package test
package cloudproject
import (
"cloudproject"
"encoding/json"
"net/http"
"net/http/httptest"
......@@ -13,12 +12,12 @@ func TestStatusHandler(t *testing.T) {
// Need to set up DB so statushandler can test connectivity
const projectID = "altocumulus-5c3b3"
const reviews = "reviews"
cloudproject.DB = cloudproject.FirestoreDatabase{ProjectID: projectID, CollectionName: reviews}
err := cloudproject.DB.Init()
DB = FirestoreDatabase{ProjectID: projectID, CollectionName: reviews}
err := DB.Init()
if err != nil {
t.Error(err)
}
defer cloudproject.DB.Close()
defer DB.Close()
// make new request to status handler
req, err := http.NewRequest("GET", "/status", nil)
......@@ -34,11 +33,11 @@ func TestStatusHandler(t *testing.T) {
status, http.StatusOK)
}
handler := http.HandlerFunc(cloudproject.StatusHandler)
handler := http.HandlerFunc(StatusHandler)
handler.ServeHTTP(rr, req)
// Check the response body is what we expect.
var expected = cloudproject.Status{}
var expected = Status{}
response := rr.Body.String()
err = json.NewDecoder(rr.Body).Decode(&expected)
......
package test
package cloudproject
import (
"cloudproject"
"encoding/json"
"net/http"
"net/http/httptest"
......@@ -13,12 +12,12 @@ func TestTurHandler(t *testing.T) {
// Need to set up DB so statushandler can test connectivity
const projectID = "altocumulus-5c3b3"
const reviews = "reviews"
cloudproject.DB = cloudproject.FirestoreDatabase{ProjectID: projectID, CollectionName: reviews}
err := cloudproject.DB.Init()
DB = FirestoreDatabase{ProjectID: projectID, CollectionName: reviews}
err := DB.Init()
if err != nil {
t.Error(err)
}
defer cloudproject.DB.Close()
defer DB.Close()
req, err := http.NewRequest("GET", "http://localhost:8080/altocumulus/v1/tur/524081f9b8cb77df150007fa", nil)
if err != nil {
......@@ -33,11 +32,11 @@ func TestTurHandler(t *testing.T) {
status, http.StatusOK)
}
handler := http.HandlerFunc(cloudproject.TurHandler)
handler := http.HandlerFunc(TurHandler)
handler.ServeHTTP(rr, req)
// Check the response body is what we expect.
var expected = cloudproject.Tur{}
var expected = Tur{}
response := rr.Body.String()
err = json.NewDecoder(rr.Body).Decode(&expected)
......
package test
package cloudproject
import (
"cloudproject"
"encoding/json"
"net/http"
"net/http/httptest"
......@@ -23,11 +22,11 @@ func TestTurerHandler(t *testing.T) {
status, http.StatusOK)
}
handler := http.HandlerFunc(cloudproject.TurerHandler)
handler := http.HandlerFunc(TurerHandler)
handler.ServeHTTP(rr, req)
// Check the response body is what we expect.
var expected = cloudproject.Turer{}
var expected = Turer{}
response := rr.Body.String()
err = json.NewDecoder(rr.Body).Decode(&expected)
......
package test
package cloudproject
import (
"cloudproject"
"encoding/json"
"errors"
"net/http"
......@@ -12,9 +11,9 @@ import (
func TestGetSingleForecast(t *testing.T) {
latitude := 58.8569687273594
longitude := 5.85660630854479
var forecast = cloudproject.FinalReport{}
var forecast = FinalReport{}
forecast, err := cloudproject.GetSingleForecast(latitude, longitude)
forecast, err := GetSingleForecast(latitude, longitude)
if err != nil {
t.Error(err)
}
......@@ -23,7 +22,7 @@ func TestGetSingleForecast(t *testing.T) {
}
// test bogus coordinates, expect 400
forecast, err = cloudproject.GetSingleForecast(9999999.9999999, 999999.999999)
forecast, err = GetSingleForecast(9999999.9999999, 999999.999999)
expected := errors.New(strconv.Itoa(http.StatusBadRequest))
if err !=nil && err.Error() != expected.Error() {
t.Error(err)
......@@ -31,11 +30,11 @@ func TestGetSingleForecast(t *testing.T) {
}
func TestParseWeatherData(t *testing.T) {
var test = cloudproject.FinalReport{}
var data = []cloudproject.ForecastData{}
var test = FinalReport{}
var data = []ForecastData{}
// Test if empty parse output throws error
test, err := cloudproject.ParseWeatherData(data)
test, err := ParseWeatherData(data)
expected := errors.New("Error in parse of weather data")
if err != nil && err.Error() != expected.Error() {
t.Errorf("Expected error %s not present", expected.Error())
......@@ -83,7 +82,7 @@ func TestParseWeatherData(t *testing.T) {
}
// test if parsing returns valid output
test, err = cloudproject.ParseWeatherData(data)
test, err = ParseWeatherData(data)
if err != nil {
t.Error(err)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment