{"id":24757738,"url":"https://github.com/hkoosha/huter","last_synced_at":"2025-03-23T09:11:32.267Z","repository":{"id":115044316,"uuid":"427645533","full_name":"hkoosha/huter","owner":"hkoosha","description":"Hive Unit TEst Runner, SQL-only unit testing for hive","archived":false,"fork":false,"pushed_at":"2023-12-25T14:58:47.000Z","size":199,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-28T15:40:49.495Z","etag":null,"topics":["hive","hql","sql","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hkoosha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-13T11:24:19.000Z","updated_at":"2021-11-13T11:26:33.000Z","dependencies_parsed_at":"2025-01-28T15:47:29.132Z","dependency_job_id":null,"html_url":"https://github.com/hkoosha/huter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hkoosha%2Fhuter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hkoosha%2Fhuter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hkoosha%2Fhuter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hkoosha%2Fhuter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hkoosha","download_url":"https://codeload.github.com/hkoosha/huter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245078190,"owners_count":20557281,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hive","hql","sql","unit-testing"],"created_at":"2025-01-28T15:35:02.734Z","updated_at":"2025-03-23T09:11:32.228Z","avatar_url":"https://github.com/hkoosha.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# huter\n\n**H**ive **U**nit **TE**st **R**unner\n\nSQL-only unit test framework for Hive!\n\n### Direct Runner\n\nRuns a single hive test, from arguments provided on the cli.\n\n### Repo Runner\n\nRuns tests in a hive repository of scripts.\n\nThe idea is to have the least amount of impact on the SQL scripts themselves. Although the default runner expects a\ncertain structure imposed on the script files and the directories they reside in, you can implement your Runner,\nadapted to your desired directory structure.\n\nHuter follows the usual testing frameworks structure (e.g. junit), thus we have:\n\n1. Framework guiding points.\n2. Unit to be tested.\n3. Test cases.\n4. Mocked environment.\n5. Test data.\n6. Unit evaluation.\n7. Assertions.\n\nThese elements can be laid out like the following, with their number from list above denoted in front of them:\n\n```\n├── co_myCoordinator\n│   └── wf_myWorkflow\n│       └── the_script_being_tested.hql              # Your script, who we want to test.\n├── tables                                           # Table definitions for Hive, by default expected in \"tables\" dir.\n│   ├── sample_table_0.hql\n│   └── sample_table_1.hql\n└── test/                                            # 1, framework guiding point.\n    └── co_myCoordinator/                            # 1\n        └── wf_myWorkflow/                           # 1\n            └── the_script_being_tested.hql/         # 2, the unit, it's path under \"test/\" matches the script's path.\n                ├── testRejectionOfDuplicates/       # 3, test case.\n                │   ├── parameters.ini               # 4, mock env.\n                │   ├── setup.hql                    # 5, test data.\n                │   ├── test_0.hql                   # 7, assertions.\n                │   └── test_1.hql                   # 7\n                ├── testSomethingElse/               # 2\n                │   └── test_0.hql                   # 7\n                ├── parameters.ini                   # 4\n                ├── setup.hql                        # 5\n                └── dependencies.txt                 # 4\n```\n\nAny script prefix with `test_` and suffixed with '.hql' will be treated as a test case.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhkoosha%2Fhuter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhkoosha%2Fhuter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhkoosha%2Fhuter/lists"}