* chore: move over initial changes from sofia's pr #58029
* chore: remove go_image
* chore: begin removing edition, remove unused imports
* chore: remove edition from swagger_gen.star and generate .drone.yml
* chore: regen drone.yml
* fix: fix order of load statements
* fix: try #2 fix order of load statements
* linter fixes
* chore: add doc comment explaining purpose of new clone_pr_branch step
* fix: add placeholder documentation for ver_mode arg
* attempt #1 to import and use clone_enterprise_step_pr
* Update scripts/drone/pipelines/swagger_gen.star
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* attempt #2 to import and use clone_enterprise_step_pr
* fix: fix drone lint err invalid or unknown step dependency
* fix: regen hmac to make drone run
* fix: fix drone lint err
* fix: update swagger-clean cmd in step
* attempt to return non zero exit code
* test to see if pipeline fails
* fix: add git to clone pr branch step
* fix: add git and make to swagger-gen step
* try to rerun drone
* debug: figure out why cannot find make swagger-clean
* debug: see if cd grafana/grafana fixes things
* debug: undo cd grafana/grafana
* debug: add more logging statements
* debug: try and remove cd grafana in swagger-gen
* debug: removed grafana after clone statement; add debug before cloning
* fix: remove disable clone
* regen specs to see if swagger-gen step passes now
* add descriptive error message to swagger-gen step
* remove api-spec.json from .gitignore
* revert backend change, regen spec
* add back backend change, regen specs
* Update scripts/drone/pipelines/swagger_gen.star
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Update scripts/drone/pipelines/swagger_gen.star
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* revert gitignore change, set enterprise source to drone source branch
* chore: remove unused variable, change committish var name to source
* testing functionality: make a new BE change without gen spec, pipeline should fail
* test functionality: does removing err msg cause step to fail properly
* test functionality: add back err msg and && after
* chore: remove debug statements from swagger gen step
* chore: remove debug lines from clone_pr_branch step
* test functionality: regen specs, swagger_gen step should pass
* test funcionality: regen specs again ????
* chore: update swagger-gen step err msg
* test functionality: make BE change dont regen spec, swagger gen should fail
* test functionality: regen the specs, swagger-gen should pass
* chore: revert test BE change, regen spec
* chore: remove unused clone step
* chore: regen drone.yml
---------
Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Chore: Turn validate-modfile failure into blocking drone step
* test to see if removal of dependency owner causes validate-modfile to fail and block pipeline
* revert change
* test: add test for getFiles
* fix: fix getFiles test to take in a module name (not modfile name)
* move functionality unrelated to getFiles into main func
* attempt to getFiles with ParseDir, empty map returned; TODO: restore modowners_generation_script_test.go
* test
* Revert "test"
This reverts commit 2b519f3725.
* Revert "attempt to getFiles with ParseDir, empty map returned; TODO: restore modowners_generation_script_test.go"
This reverts commit eb95247487.
* attempt to getFiles with ParseDir, empty map returned; TODO: restore modowners_generation_script_test.go
* post-pairing with daniel, can access imports in a file
* clean up comments for readability
* try to return map of importName: files that import the improt
* refactor: change getFiles to accept single import name and return list of files that import it
* add log to see importPath and importName
* hasImport working
* start modowners script & add comments for hasImport
* fix modules() and uncomment main
* start script to add team names to go.mod, currently can access a map of the import and name
* 💩
* calculate root directory to point to correct go.mod
* chore: delete unnecessary files
* chore: uncomment tests
* chore: remove unnecessary comments, update documentation comments with correct cli commands
* fix: revert changes in go.mod and go.sum
* where is my dependency flag value??
* fix: owners function now can list all owners (with counts) or list a specific owner for a given dependency
* fix: change fmt.Println to logger.Println for owners func
* partial fix: modules now only prints dependencies owned by given team. -i functionality still not working properly
* fix: fix TestModules, modules
* chore: update check error message to specify user needs to assign owner to new dependency
* fix: adjust punctuation in error string
* fix: clean up comments in modowners
* chore: remove note in modowners_test
* Fix: Change getExistingDashboardByTitleAndFolder to get dashboard by title, not slug
* test: add tests for get dashboard with existing name, get dashboard with non existing name, get dashboard with existing name in a folder
* Update pkg/services/dashboards/database/database_test.go
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* require specific error for Should be able to get dashboard with existing name
* Update pkg/services/dashboards/database/database_test.go
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* implement sofia suggestions to check for specific err, remove logs
* give test more specific name
* implement daniel suggestion of formatting documentation comment in safe way
* fix test title to refer to root directory not specific folder
---------
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* chore: test drone step
* revert changes to lint_backend_step()
* try to add validate_modifle_step
* try to run check func
* remove CGO and wire-install
* update filepath to scripts/modowners
* make drone again
* correct the filepath
* try to ignore validate-modfile step if fail
* chore: remove log that says i am a programmer
* fix: spell modfile correctly
* chore: remove unecessary comment
* fix: check go.mod instead of go.txd
* chore: start modowners
* read go.mod, parse modfile, iterate through requires; add dummy go.mod
* make BEP owners of all grafana dependencies 😱
* push attempt at logging the require comments
* shrink dummy modfile
* revert changes in go.mod
* access comments suffix
* add Module struct; attempt to separate ParseGoMod functionality into its own func; add owner (third) for loop when interating modfile
* feat: print all owners in modfile
* add additional question in comment
* feat: add subcommands: check, owners, modules; chunk out some functions
* chunk out subcommand functions
* add flags
* start tests for common element
* refactor: test for common element
* attempt #1 to refactor modules to accept multiple args
* refactor: refactor modfule func to take 1+ owner arguments (0 arguments not working atm)
* chore: remove debug logging
* refine existing comments
* comment out indirect flag stuff, add example cli command for modules
* unsuccessful attempt #2 to refactor modules to accept -o and -i flags
* refactor funcs to take filesystem and logger
* test: add test for check when all modules have owners
* fail attempt 1 to get TestModules to work
* assert expected log result in TestModules; unsure if properly reading logs
* test: add TestModules to test modules func without any flags returns direct dependencies
* test: add TestInvalidCheck for scenario when some dependencies are missing an owner
* attempt 1 at refactoring TestCheck into a table
* chore: clean TestCheck
* chore: clean up comments for func check
* move files under scripts/modowners
* revert go.mod and go.sum
* Chore: use org service methods
* fix tests
* fix errors
* adjust func signatures for getbyname
* 💩
* Use the same fake service to get the user in AC and in HS
* Fix middleware test
* Fix more middleware test
* Fix api tests
Co-authored-by: gamab <gabi.mabs@gmail.com>
Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com>
* Chore: Add new go test commands for unit, integration tests to makefile
* Add test-go-unit and test-go-integration targets as dependencies of the test-go target
* Add makefile target for mysql & postgres backends
* Set GRAFANA_TEST_DB variable for the xargs postgres command
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Set GRAFANA_TEST_DB variable for the xargs mysql command
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Use postgres_tests as source
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Set postgres_tests as source
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Clean test cache before postgres and mysql integration test makefile commands
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Chore: Exclude integration tests from running on test-backend step
* Remove -v from go test command
* Add check to skip integration tests before each integration test
* Try to restart pipeline
* Retrying to make pipeline run
* Refactor: Add UID endpoint for dashboard versions and restore
* Fix: User dashID instead of dash.id
* 💩
* Move apiCmd error handling outside of dashUID check
* fix the panic in test
* Fix handler and update docs
Co-authored-by: Kat Yang <yangkb09@users.noreply.github.com>
* Docs: add deprecated warning to restore and version docs
* Fix hyperlink text
* Add swagger endpoints for restore and versions
* Add deprecated tag on swagger for both endpoints
* Fix: Update access control to be dashboards
* Return UID in response; Update docs to reflect this; Implement Ying suggestion
* Update docs/sources/http_api/dashboard_versions.md
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Update pkg/models/dashboard_version.go
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Update pkg/models/dashboard_version.go
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Update query to refer to DashboardUID
Co-authored-by: Ying WANG <ying.wang@grafana.com>
Co-authored-by: Sofia Papagiannaki <sofia@grafana.com>
Co-authored-by: Kat Yang <yangkb09@users.noreply.github.com>
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Refactor: Add UID endpoint for get dashboard version
* Add initial docs language
* Add new endpoint in swagger
* Change access control to dashboards
* Add parameters to swagger endpoint
* Return UID in response; Update docs to reflect this; Implement Ying suggestion
* Update docs/sources/http_api/dashboard_versions.md
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Update pkg/api/api.go
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Update pkg/models/dashboard_version.go
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Rename UID to DashboardUID for clarity; use dashUID in method
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Chore: Remove x from health
* Chore: Remove x from dashboard and user
* Chore: Remove x from alert notification
* Chore: Remove x from stats
* Fix: Update func signature in stats test
* Refactor: Remove x from GetDashboardTags
* Chore: Remove x from dashboard
* Chore: Remove x from Stats
* Fix: Update refs of HasAdminPermissionInFolders
* Fix: Adjust funcs in tests to be sqlStore methods
* Fix: Fix database folder test sqlstore methods
* Chore: Remove bus from admin users
* Mock authinfoservice
* Update user id
* attempt to fix the tests in admin users api
* fix type cast
* revert skipped tests
Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
* Chore: Remove bus from password
* Refactor: Remove bus from password.go and adjust tests
* remove sqlstore dependency from notifications
* Chore: Remove bus from password
* Refactor: Remove bus from password.go and adjust tests
* remove sqlstore dependency (again)
* remove fmt printf
* fix dependencies in http server
* fix renamed method in tests
Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
* Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in misc files
* Refactor: Change .inTransaction in org.go file
* Refactor: Update init() to proper SQLStore handlers
* Refactor: Update funcs in tests to be sqlStore methods
* Refactor: Update API funcs to receive HTTPServer
* Fix: define methods on sqlstore
* Adjust GetSignedInUser calls
* Refactor: Add sqlStore to Service struct
* Chore: Add back black spaces to remove file from PR
Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com>
* Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in alert files
* Fix: Revert second SaveAlerts back to normal func
* Refactor: Update tests so functions are now SQLStore methods
* Fix: Refactor pauseAlert and pauseAllAlerts to be SQLStore methods
* Fix: Refactor SaveAlerts to be SQLStore method
* Refactor: Update SaveAlerts func signature to have correct arguments
* Refactor: Define sqlStore
* Chore: Delete commented out code
* Chore: Remove unused SaveAlertsCommand
* API: Fix dashboard quota limit for imports
* fix: refactor TestDashboardQuota to check if dashboard saved
* Refactor: incorporate Sofia suggestions into tests
* refactor: add fields to TestDashboard struct
* write import test