{"id":15284067,"url":"https://github.com/rodrigoio/testbucket","last_synced_at":"2025-04-12T23:20:47.545Z","repository":{"id":46992485,"uuid":"196494189","full_name":"rodrigoio/testbucket","owner":"rodrigoio","description":"A tool to generate test cases","archived":false,"fork":false,"pushed_at":"2021-09-18T15:24:16.000Z","size":223,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T17:21:18.057Z","etag":null,"topics":["integration-tests","phpunit","tests"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rodrigoio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-12T02:24:41.000Z","updated_at":"2024-08-15T15:37:23.000Z","dependencies_parsed_at":"2022-08-25T16:12:14.462Z","dependency_job_id":null,"html_url":"https://github.com/rodrigoio/testbucket","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodrigoio%2Ftestbucket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodrigoio%2Ftestbucket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodrigoio%2Ftestbucket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodrigoio%2Ftestbucket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rodrigoio","download_url":"https://codeload.github.com/rodrigoio/testbucket/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248644031,"owners_count":21138544,"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":["integration-tests","phpunit","tests"],"created_at":"2024-09-30T14:49:04.207Z","updated_at":"2025-04-12T23:20:47.522Z","avatar_url":"https://github.com/rodrigoio.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Test Bucket\nTestBucket is a tool that aims to assist the testing process by generating functional test cases.\n\u003cbr\u003e\n\n### About\nTestBucket is a tool aims to generate test cases from the definition of a specification in YAML notation.\nThis specification aims to determine input domains and correlation between fields in a form.\n\nOnce we have a specification in a concrete and not subjective way, we can apply several known techniques of\nsoftware tests to generate test cases. The scope of this project is limited, for now, to generate integrated\ntests not having a direct relationship with the application code, but with the specification.\n\nConsider contributing to this project with code :nerd_face:; or thoughts and ideas :monocle_face: !\n\u003cbr\u003e\n\n\n### Working on... :hammer_and_wrench:\n* New data types\n* New combiner algorithm\n\u003cbr\u003e\n\n### Useful commands:\n```shell script\n\n# build image\nmake build\n\n# run all tests\nmake test\n\n# run dev environment\nmake run\n\n# stop dev environment\nmake stop\n```\n\u003cbr\u003e\n\n#### Data Types\n##### Range Types:\n| type          | Description | Status |\n|---------------|-------------|--------|\n| integer:range |    (...)    | Done   |\n| float:range   |    (...)    | Pending |\n| date:range    |    (...)    | Pending |\n\u003cbr\u003e\n\n##### Static Types:\n| type          | Description | Status |\n|---------------|-------------|--------|\n| string:static |    (...)    | Pending |\n| boolean:static|    (...)    | Pending |\n\u003cbr\u003e\n\n#### YAML Specification\n```yaml\nversion: 1.0\ngroup: UserForm\nproperties:\n  - name: name\n    type: static\n    value: [\"bob\", \"alice\"]\n  - name: surname\n    type: static\n    value: [\"red\", \"green\"]\n```\n\n#### Execute using container:\n```shell script\ndocker run -it --rm --name testbucket-run -v \"$PWD\":/tmp testbucket ./testbucket testbucket:process --spec=/tmp/test.yaml --output=/tmp\n```\n\u003cbr\u003e\n\n#### Expected Data\nEach line is a json object that defines a `TestCase` with properties and if its valid or not, and all values are encoded in base64.\nThis example only shows valid test cases: `is_valid=true`\n\n```\n{\"group_name\":\"UserForm\",\"properties\":{\"name\":\"Ym9i\",\"surname\":\"cmVk\"},\"is_valid\":true}\n{\"group_name\":\"UserForm\",\"properties\":{\"name\":\"Ym9i\",\"surname\":\"Z3JlZW4=\"},\"is_valid\":true}\n{\"group_name\":\"UserForm\",\"properties\":{\"name\":\"YWxpY2U=\",\"surname\":\"cmVk\"},\"is_valid\":true}\n{\"group_name\":\"UserForm\",\"properties\":{\"name\":\"YWxpY2U=\",\"surname\":\"Z3JlZW4=\"},\"is_valid\":true}\n```\n\u003cbr\u003e\n\n#### Contribute:\nIf you want to contribute to this project, see the [guidelines][0]\n\n[0]: https://github.com/rodrigoio/testbucket/blob/master/CONTRIBUTING.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frodrigoio%2Ftestbucket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frodrigoio%2Ftestbucket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frodrigoio%2Ftestbucket/lists"}