{"ref":"artifact:sbcgua-mockup-loader","page":"/artifacts/sbcgua-mockup-loader","json":"/artifacts/sbcgua-mockup-loader.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sbcgua-mockup-loader","name":"mockup_loader","artifact_type":"package","ecosystem":"abap","domain":"developer-experience","origin_ring":"independent","description":{"one_line":"A tool that loads ABAP unit test data prepared in Excel as TAB-delimited text into ABAP structures and tables, and generates interface stubs that return that mock data.","short":"Loader of Excel-prepared ABAP unit test data, with stub generation","what_it_solves":"Preparing table data for ABAP unit tests by hand is slow to write and hard to keep readable, especially for wide structures such as an FI document's BKPF and BSEG lines. Mockup loader takes TAB-delimited text extracted from Excel, bundled into a MIME object with the development package, and loads it into a structure or table while auto-detecting fields and optionally skipping ones the test does not need. It also builds interface stubs that connect one or more methods of a data-accessor interface directly to that mock data, with optional filtering by key field, plus a store/retrieve mode for substituting database selects in code that has no accessor interface to stub. It stops at the loading and stubbing itself: the tab-delimited parsing is [text2tab](artifact:sbcgua-text2tab), which the README names as a mandatory prerequisite, and turning the Excel files into the text format it reads is done by the separate [mockup loader toolkit](https://github.com/sbcgua/mockup_loader_toolkit) in ABAP or [mockup compiler JS](https://github.com/sbcgua/mockup-compiler-js) on the developer's machine."},"links":{"repo":"https://github.com/sbcgua/mockup_loader"},"identity":{"license":"MIT"},"source_available":true,"type_properties":{"placement":{"value":"in-host","sources":[{"url":"https://github.com/sbcgua/mockup_loader","title":"sbcgua/mockup_loader — README","checked":"2026-10-19","quote":"Create unit test data in Excel, easily convert it into MIME object that travels with ABAP package, easily consume the data from your unit test code."}]},"distribution":{"value":["abapgit"],"sources":[{"url":"https://github.com/sbcgua/mockup_loader","title":"sbcgua/mockup_loader — README, Installation","checked":"2026-09-14","quote":"The most convenient way to install the package is to use [abapGit](https://github.com/larshp/abapGit) - it is easily installed itself and then a couple of click to clone the repo into the system."}]}},"provides":[{"capability":"capability:abap-unit-testing","what_it_does":"Loads ABAP unit test data prepared in Excel from a bundled MIME object into structures and tables, and generates interface-stub doubles whose methods return that data, with optional filtering by key field.","sources":[{"url":"https://github.com/sbcgua/mockup_loader","title":"sbcgua/mockup_loader — README, Features","checked":"2026-10-19","quote":"Interface stubbing - dynamically create double implementations of data accessor interfaces and connect their methods to files in mocks."}]}],"requires":[{"ref":"artifact:sbcgua-text2tab","for":"Parses the TAB-delimited text the mockups are stored as; the README lists it under Dependencies as a mandatory prerequisite, installed before mockup loader.","requirement":"required","sources":[{"url":"https://github.com/sbcgua/mockup_loader","title":"sbcgua/mockup_loader — README, Installation","checked":"2026-09-14","quote":"- [text2tab](https://github.com/sbcgua/text2tab) - tab-delimited text parser (was a part of *mockup loader* but now a separate reusable tool). Mandatory prerequisite."}]},{"ref":"artifact:abapgit-abapgit","for":"The installation route the README names, both for cloning the repository into the system and for importing the downloaded zip offline.","sources":[{"url":"https://github.com/sbcgua/mockup_loader","title":"sbcgua/mockup_loader — README, Installation","checked":"2026-09-14","quote":"The most convenient way to install the package is to use [abapGit](https://github.com/larshp/abapGit) - it is easily installed itself and then a couple of click to clone the repo into the system. There is also an option for offline installation - download the repo as zip file and import it with abapGit."}]}],"maintainers":["actor:sbcgua"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:a-fas","actor:germanysources","actor:larshp","actor:sbcgua","actor:swixfort"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"5 contributors"},{"label":"Repository","tier":"good","evidence":"pushed 2026-06, not archived"}],"compatibility":[{"label":"Declared for","tier":"good","evidence":"SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"good","evidence":"abaplint green, 2026-04-19"}],"practice":[{"label":"Tests","tier":"good","evidence":"5 test files"},{"label":"Docs","tier":"good","evidence":"docs/ with 2 pages, README 22 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":77,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name","stars":77,"forks":14,"open_issues":12,"archived":false,"pushed_at":"2026-06-13","license_spdx":"MIT","org_owned":false,"default_branch":"master","created_at":"2015-11-03T17:02:54Z","open_prs":2,"tree_truncated":false,"test_files":5,"workflows":1,"other_ci":false,"readme_bytes":22384,"docs_files":2,"changelog":true,"license_file":true,"dts_files":0,"first_commit":"2015-11-03","last_commit":"2026-04-19","commits":403,"contributors":5,"ci_status":"success","ci_run_at":"2026-04-19","ci_workflow":"abaplint","ci_event":"push","readme_path":"README.md","readme_sha":"7f81966c33b236c1f490b657416a9cf3ef58238e","repo_read":"2026-10-25","abap_syntax":{"repo":"sbcgua/mockup_loader","file":"abaplint.json","url":"https://github.com/sbcgua/mockup_loader/blob/HEAD/abaplint.json","version":"v702","floor":"702","checked":"2026-10-26"}},"release_notes":{"license":"MIT","quotable":true,"source":{"kind":"github-releases","url":"https://github.com/sbcgua/mockup_loader/releases"},"format":"github-releases","releases":[{"version":"2.0.5","date":"2019-08-25","date_source":"github","heading":"Mockup connected test doubles and more","url":"https://github.com/sbcgua/mockup_loader/releases/tag/v2.0.5","sections":[{"kind":"other","heading":null,"items":8}],"hash":"9f7b2a3675777b09"},{"version":"1.1.0","date":"2018-08-25","date_source":"github","heading":"Support better date parsing","url":"https://github.com/sbcgua/mockup_loader/releases/tag/v1.1.0","sections":[],"hash":"5cce6be0bce265ac"},{"version":"1.0.0","date":"2017-04-08","date_source":"github","heading":"stable release","url":"https://github.com/sbcgua/mockup_loader/releases/tag/v1.0.0","sections":[],"hash":"dce884140e1e75f7"},{"version":"0.2.1","date":"2017-04-08","date_source":"github","heading":"Stable version (freeze state before migration to abapGit)","url":"https://github.com/sbcgua/mockup_loader/releases/tag/v0.2.1","sections":[],"hash":"1f56b7a978e758ac"},{"version":"0.2.0","date":"2016-07-06","date_source":"github","heading":"Release 0.2, cleaner API, accumulated improvements","url":"https://github.com/sbcgua/mockup_loader/releases/tag/v0.2.0","sections":[],"hash":"e3b0c44298fc1c14"},{"version":"0.1","date":"2015-11-12","date_source":"github","heading":"Release 0.1 (initial, but stable ;)","url":"https://github.com/sbcgua/mockup_loader/releases/tag/v0.1","sections":[],"hash":"6b9e18c007412782"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:sbcgua","name":"Alexander Tsybulsky","json":"/actors/sbcgua.json"}],"contributors":[{"ref":"actor:a-fas","name":"Alexander Tsybulsky","json":"/actors/a-fas.json"},{"ref":"actor:sbcgua","name":"Alexander Tsybulsky","json":"/actors/sbcgua.json"},{"ref":"actor:germanysources","name":"Johannes Gerbershagen","json":"/actors/germanysources.json"},{"ref":"actor:larshp","name":"Lars Hvam","json":"/actors/larshp.json"},{"ref":"actor:swixfort","name":"Stefan Wixfort","json":"/actors/swixfort.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}