55 runs-on : ubuntu-latest
66 steps :
77 - name : Install Go
8- uses : actions/setup-go@v4
8+ uses : actions/setup-go@v5
99 with :
1010 go-version : 1.22.x
1111 - name : Checkout code
12- uses : actions/checkout@v3
12+ uses : actions/checkout@v4
1313 - name : Run linters
1414 uses : golangci/golangci-lint-action@v3
1515 with :
@@ -24,15 +24,61 @@ jobs:
2424 steps :
2525 - name : Install Go
2626 if : success()
27- uses : actions/setup-go@v4
27+ uses : actions/setup-go@v5
2828 with :
2929 go-version : ${{ matrix.go-version }}
3030 - name : Checkout code
31- uses : actions/checkout@v3
31+ uses : actions/checkout@v4
3232 - name : go tests
3333 run : go test -v -covermode=count -json ./... > test.json
3434 - name : annotate go tests
3535 if : always()
36363737 with :
38- test-results : test.json
38+ test-results : test.json
39+ test :
40+ runs-on : ubuntu-latest
41+ env :
42+ BATON_LOG_LEVEL : debug
43+ # Add any environment variables needed to run baton-sql-server
44+ BATON_DSN : server=127.0.0.1;user id=sa;password=devP@ssw0rd;port=1433
45+ # The following parameters are passed to grant/revoke commands
46+ CONNECTOR_GRANT : ' database-role:msdb:6:member:user:257'
47+ CONNECTOR_ENTITLEMENT : ' database-role:msdb:6:member'
48+ CONNECTOR_PRINCIPAL_TYPE : ' user'
49+ CONNECTOR_PRINCIPAL : ' 257'
50+ steps :
51+ - name : Install Go
52+ uses : actions/setup-go@v5
53+ with :
54+ go-version : 1.22.x
55+ - name : Checkout code
56+ uses : actions/checkout@v4
57+ - name : Run Docker Compose as a Daemon (to start sql server)
58+ run : docker-compose -f ./docker-compose.yml up --detach
59+ - name : Install baton
60+ run : ./scripts/get-baton.sh && mv baton /usr/local/bin
61+ - name : Build baton-sql-server
62+ run : go build ./cmd/baton-sql-server
63+ - name : Run baton-sql-server
64+ run : ./baton-sql-server
65+ - name : Check for grant before revoking
66+ run : |
67+ ./baton-sql-server
68+ baton grants --entitlement="${{ env.CONNECTOR_ENTITLEMENT }}" --output-format=json | jq --exit-status ".grants[].principal.id.resource == \"${{ env.CONNECTOR_PRINCIPAL }}\""
69+ # - name: Revoke grants
70+ # run: |
71+ # ./baton-sql-server
72+ # ./baton-sql-server --revoke-grant ${{ env.CONNECTOR_GRANT }}
73+ # - name: Check grant was revoked
74+ # run: |
75+ # ./baton-sql-server
76+ # baton grants --entitlement="${{ env.CONNECTOR_ENTITLEMENT }}" --output-format=json | jq --exit-status "if .grants then .grants[]?.principal.id.resource != \"${{ env.CONNECTOR_PRINCIPAL }}\" else . end"
77+ # - name: Grant entitlement
78+ # run: |
79+ # ./baton-sql-server
80+ # ./baton-sql-server --grant-entitlement ${{ env.CONNECTOR_ENTITLEMENT }} --grant-principal-type ${{ env.CONNECTOR_PRINCIPAL_TYPE }} --grant-principal ${{ env.CONNECTOR_PRINCIPAL }} --provisioning
81+ # - name: Check grant was re-granted
82+ # run: |
83+ # ./baton-sql-server
84+ # baton grants --entitlement ${{ env.CONNECTOR_ENTITLEMENT }} --output-format=json | jq -e ".grants | any(.principal.id.resource ==\"${{ env.CONNECTOR_PRINCIPAL }}\")"
0 commit comments