test_datasource_frontend_contract.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. from pathlib import Path
  2. LISTING = Path("frontend/src/views/dataGovernance/dataSource/index.vue")
  3. EDITOR = Path(
  4. "frontend/src/views/dataGovernance/dataSource/components/edit.vue"
  5. )
  6. API = Path("frontend/src/api/dataOrigin.js")
  7. def test_datasource_ui_does_not_render_or_replay_stored_credentials():
  8. listing = LISTING.read_text(encoding="utf-8")
  9. editor = EDITOR.read_text(encoding="utf-8")
  10. assert "value: 'username'" not in listing
  11. assert "value: 'param'" not in listing
  12. assert "credential_configured" in listing
  13. assert "Object.assign(this.formValues, this.itemData)" not in editor
  14. assert "datasourceParse" not in editor
  15. assert "key: 'param'" not in editor
  16. assert "value: 'postgresql'" in editor
  17. assert "value: 'mysql'" in editor
  18. def test_datasource_ui_uses_uid_and_omits_blank_credentials():
  19. listing = LISTING.read_text(encoding="utf-8")
  20. editor = EDITOR.read_text(encoding="utf-8")
  21. api = API.read_text(encoding="utf-8")
  22. assert "handleDelete(item.uid)" in listing
  23. assert "data.uid = this.itemData.uid" in listing
  24. assert "delete payload.username" in editor
  25. assert "delete payload.password" in editor
  26. assert "datasourceParse" not in api