From 1396058f40b00b63e3c856c84f3631ecb7367bed Mon Sep 17 00:00:00 2001 From: "Michael J. Roberts" Date: Mon, 20 Jun 2022 18:09:08 +0100 Subject: [PATCH] feat: Added path param to GetTransit() *gin.Context. feat: Added path param to GetTransit() *gin.Context. Includes updated associated test suite for module export definition and expected output. --- coverage.txt | 6 +++--- pkg/transit/transit.go | 3 +++ pkg/transit/transit_test.go | 17 +++++++++++++---- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/coverage.txt b/coverage.txt index 3ef0c67..4e3460b 100644 --- a/coverage.txt +++ b/coverage.txt @@ -19,6 +19,8 @@ github.com/observerly/nocturnal/internal/router/setup.go:38.40,45.4 1 0 github.com/observerly/nocturnal/internal/router/setup.go:58.41,65.3 1 1 github.com/observerly/nocturnal/internal/router/setup.go:68.40,77.3 1 1 github.com/observerly/nocturnal/internal/router/setup.go:80.33,82.3 1 1 +github.com/observerly/nocturnal/pkg/sun/sun.go:15.29,57.2 13 1 +github.com/observerly/nocturnal/pkg/twilight/twilight.go:14.34,75.2 14 1 github.com/observerly/nocturnal/pkg/moon/moon.go:15.30,61.22 16 1 github.com/observerly/nocturnal/pkg/moon/moon.go:67.2,67.21 1 1 github.com/observerly/nocturnal/pkg/moon/moon.go:73.2,78.4 1 1 @@ -26,6 +28,4 @@ github.com/observerly/nocturnal/pkg/moon/moon.go:61.22,63.3 1 0 github.com/observerly/nocturnal/pkg/moon/moon.go:63.8,65.3 1 1 github.com/observerly/nocturnal/pkg/moon/moon.go:67.21,69.3 1 0 github.com/observerly/nocturnal/pkg/moon/moon.go:69.8,71.3 1 1 -github.com/observerly/nocturnal/pkg/twilight/twilight.go:14.34,75.2 14 1 -github.com/observerly/nocturnal/pkg/sun/sun.go:15.29,57.2 13 1 -github.com/observerly/nocturnal/pkg/transit/transit.go:15.33,90.2 24 2 +github.com/observerly/nocturnal/pkg/transit/transit.go:15.33,93.2 25 2 diff --git a/pkg/transit/transit.go b/pkg/transit/transit.go index ef5ea8f..afb06c2 100644 --- a/pkg/transit/transit.go +++ b/pkg/transit/transit.go @@ -45,6 +45,8 @@ func GetTransit(c *gin.Context) { tr, _ := dusk.GetObjectTransit(datetime, eq, latitude, longitude) + path, _ := dusk.GetObjectHorizontalCoordinatesForDay(datetime, eq, longitude, latitude) + airmass := dusk.GetRelativeAirMass(hz.Altitude) refraction := dusk.GetAtmosphericRefraction(hz.Altitude) @@ -79,6 +81,7 @@ func GetTransit(c *gin.Context) { "maximum": utils.FormatDatetimeRFC3339(tr.Maximum), "rise": utils.FormatDatetimeRFC3339(tr.Rise), "set": utils.FormatDatetimeRFC3339(tr.Set), + "path": path, } c.JSON(http.StatusOK, gin.H{ diff --git a/pkg/transit/transit_test.go b/pkg/transit/transit_test.go index ad259b0..ad1d75c 100644 --- a/pkg/transit/transit_test.go +++ b/pkg/transit/transit_test.go @@ -8,6 +8,8 @@ import ( "testing" "github.com/gin-gonic/gin" + "github.com/observerly/dusk/pkg/dusk" + "github.com/observerly/nocturnal/internal/utils" "github.com/stretchr/testify/assert" ) @@ -30,7 +32,7 @@ func SetupTransitRouter() *gin.Engine { var r = SetupTransitRouter() // Setup the base response struct: -var response map[string]map[string]string +var response map[string]map[string]interface{} func performRequest(r http.Handler, method, path string) *httptest.ResponseRecorder { req, _ := http.NewRequest(method, path, nil) @@ -167,11 +169,18 @@ func TestGetTransitRoutePosition(t *testing.T) { } func TestGetTransitRouteTransit(t *testing.T) { + datetime, _ := utils.ParseDatetimeRFC3339("2021-05-14T00:00:00.000Z") + + eq := dusk.EquatorialCoordinate{RightAscension: 88.792958, Declination: 7.407064} + + coordinates, _ := dusk.GetObjectHorizontalCoordinatesForDay(datetime, eq, -155.468094, 19.798484) + // Build our expected transit section of body transit := gin.H{ "maximum": "2021-05-14T12:39:25-10:00", "rise": "2021-05-14T08:35:25-10:00", "set": "2021-05-14T20:54:51-10:00", + "path": coordinates, } // Convert the JSON response: @@ -194,9 +203,9 @@ func TestGetTransitRouteTransit(t *testing.T) { func TestGetTransitRouteTransitNotAboveHorizon(t *testing.T) { // Build our expected transit section of body transit := gin.H{ - "maximum": "", - "rise": "", - "set": "", + "maximum": nil, + "rise": nil, + "set": nil, } // Convert the JSON response: