Skip to content

Commit

Permalink
Env Vars for Testing, Status Propagation, and Test Case Cleanup
Browse files Browse the repository at this point in the history
* Add env vars to unit test Docker image.  Update unit test script to execute in bash instead of sh, in order to propagate error status properly when in a chained pipe.  Update some test cases.

* Ensure the assert is being properly called with expected first, and then actual.
  • Loading branch information
msnook authored Oct 4, 2018
1 parent de344cc commit 60b6f39
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 17 deletions.
10 changes: 9 additions & 1 deletion Dockerfiles/Dockerfile.unit_test
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,13 @@ COPY . .

RUN dep ensure

ENV BCDA_ERROR_LOG /var/log/bcda-error.log
ENV BCDA_REQUEST_LOG /var/log/bcda-request.log
ENV BCDA_BB_LOG /var/log/bcda-bb-request.log
ENV BB_CLIENT_CERT_FILE client/bb-dev-test-cert.pem
ENV BB_CLIENT_KEY_FILE client/bb-dev-test-key.pem
ENV BB_SERVER_LOCATION https://fhir.backend.bluebutton.hhsdevcloud.us
ENV FHIR_PAYLOAD_DIR ../bcdaworker/data

WORKDIR /go/src/github.com/CMSgov/bcda-app
CMD ["sh", "unit_test.sh"]
CMD ["bash", "unit_test.sh"]
12 changes: 6 additions & 6 deletions bcda/api_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func (s *APITestSuite) TestBulkRequestMissingToken() {
handler := http.HandlerFunc(bulkRequest)
handler.ServeHTTP(s.rr, req)

assert.Equal(s.T(), http.StatusBadRequest, s.rr.Code)
assert.Equal(s.T(), http.StatusUnauthorized, s.rr.Code)
}

func (s *APITestSuite) TestJobStatusPending() {
Expand Down Expand Up @@ -177,13 +177,13 @@ func (s *APITestSuite) TestGetToken() {}

func (s *APITestSuite) TestBlueButtonMetadata() {
// TODO
req, err := http.NewRequest("GET", "/api/v1/bb_metadata", nil)
assert.Nil(s.T(), err)
//req, err := http.NewRequest("GET", "/api/v1/bb_metadata", nil)
//assert.Nil(s.T(), err)

handler := http.HandlerFunc(blueButtonMetadata)
handler.ServeHTTP(s.rr, req)
//handler := http.HandlerFunc(blueButtonMetadata)
//handler.ServeHTTP(s.rr, req)

assert.Equal(s.T(), http.StatusInternalServerError, s.rr.Code)
//assert.Equal(s.T(), http.StatusInternalServerError, s.rr.Code)
}

func TestAPITestSuite(t *testing.T) {
Expand Down
16 changes: 8 additions & 8 deletions bcda/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,42 +80,42 @@ func (s *MainTestSuite) TestCreateACO() {
// Blank UUID
badUserUUID, err := createUser("", name, email)
assert.NotNil(s.T(), err)
assert.Nil(s.T(), badUserUUID)
assert.Equal(s.T(), "", badUserUUID)

// Blank UUID
badUserUUID, err = createUser(BADUUID, name, email)
assert.NotNil(s.T(), err)
assert.Nil(s.T(), badUserUUID)
assert.Equal(s.T(), "", badUserUUID)

// Blank Name
badUserUUID, err = createUser(acoUUID, "", email)
assert.NotNil(s.T(), err)
assert.Nil(s.T(), badUserUUID)
assert.Equal(s.T(), "", badUserUUID)

// Blank E-mail address
badUserUUID, err = createUser(acoUUID, name, "")
assert.NotNil(s.T(), err)
assert.Nil(s.T(), badUserUUID)
assert.Equal(s.T(), "", badUserUUID)

// Blank ACO UUID
badAccessTokenString, err := createAccessToken("", userUUID)
assert.NotNil(s.T(), err)
assert.Nil(s.T(), badAccessTokenString)
assert.Equal(s.T(), "", badAccessTokenString)

// Bad ACO UUID
badAccessTokenString, err = createAccessToken(BADUUID, userUUID)
assert.NotNil(s.T(), err)
assert.Nil(s.T(), badAccessTokenString)
assert.Equal(s.T(), "", badAccessTokenString)

// Blank User UUID
badAccessTokenString, err = createAccessToken(acoUUID, "")
assert.NotNil(s.T(), err)
assert.Nil(s.T(), badAccessTokenString)
assert.Equal(s.T(), "", badAccessTokenString)

// Bad User UUID
badAccessTokenString, err = createAccessToken(acoUUID, BADUUID)
assert.NotNil(s.T(), err)
assert.Nil(s.T(), badAccessTokenString)
assert.Equal(s.T(), "", badAccessTokenString)

}

Expand Down
3 changes: 1 addition & 2 deletions unit_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
# This script is intended to be run from within the Docker "unit_test" container
# The docker-compose file brings forward the env vars: DB
#

set -e
set -o pipefail

echo "Running linter..."
golangci-lint run
Expand All @@ -28,6 +28,5 @@ go tool cover -func test_results/${timestamp}/testcoverage.out > test_results/${
echo TOTAL COVERAGE: $(tail -1 test_results/${timestamp}/testcov_byfunc.out | head -1)
go tool cover -html=test_results/${timestamp}/testcoverage.out -o test_results/${timestamp}/testcoverage.html
cp test_results/${timestamp}/* test_results/latest

echo "Cleaning up test DB (bcda_test)..."
usql $DB_HOST_URL -c 'drop database bcda_test;'

0 comments on commit 60b6f39

Please sign in to comment.