{"id":18966941,"url":"https://github.com/link-intersystems/dbunit-extensions","last_synced_at":"2026-04-04T04:30:17.009Z","repository":{"id":40508786,"uuid":"478047354","full_name":"link-intersystems/dbunit-extensions","owner":"link-intersystems","description":"Extensions for the dbunit testing library.","archived":false,"fork":false,"pushed_at":"2023-03-15T05:07:52.000Z","size":1972,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-01T06:14:08.410Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/link-intersystems.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":"2022-04-05T08:54:24.000Z","updated_at":"2022-04-05T08:54:47.000Z","dependencies_parsed_at":"2024-11-08T14:41:22.126Z","dependency_job_id":"da231475-a8da-4f79-8387-9ff56d03fbae","html_url":"https://github.com/link-intersystems/dbunit-extensions","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/link-intersystems%2Fdbunit-extensions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/link-intersystems%2Fdbunit-extensions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/link-intersystems%2Fdbunit-extensions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/link-intersystems%2Fdbunit-extensions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/link-intersystems","download_url":"https://codeload.github.com/link-intersystems/dbunit-extensions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239964515,"owners_count":19725952,"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":[],"created_at":"2024-11-08T14:39:09.573Z","updated_at":"2026-04-04T04:30:16.982Z","avatar_url":"https://github.com/link-intersystems.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![Java CI with Maven](https://github.com/link-intersystems/dbunit-extensions/workflows/Java%20CI%20with%20Maven/badge.svg)\n[![Coverage Status](https://coveralls.io/repos/github/link-intersystems/dbunit-extensions/badge.svg?branch=master)](https://coveralls.io/github/link-intersystems/dbunit-extensions?branch=master)\n[![Maven Central](https://img.shields.io/maven-central/v/com.link-intersystems.dbunit/lis-dbunit)](https://mvnrepository.com/artifact/com.link-intersystems.dbunit)\n[![Open Issues](https://img.shields.io/github/issues/link-intersystems/dbunit-extensions)](https://github.com/link-intersystems/dbunit-extensions/issues)\n\n# DBUnit compatibility \n\nThe dbunit compatibility tests, test this library against dbunit versions \n\n[![Maven Central](https://img.shields.io/maven-central/v/org.dbunit/dbunit?label=dbunit\u0026versionPrefix=2.4.6\u0026style=flat-square)](https://mvnrepository.com/artifact/org.dbunit/dbunit) to\n[![Maven Central](https://img.shields.io/maven-central/v/org.dbunit/dbunit?label=dbunit\u0026style=flat-square)](https://mvnrepository.com/artifact/org.dbunit/dbunit) \n\n![DBUnit Compatibility Test](https://github.com/link-intersystems/dbunit-extensions/workflows/DBUnit%20Compatibility%20Tests/badge.svg)\n\n\u003c!-- SEARCH AND REPLACE THE LATEST DOC COMMIT HASH TO UPDATE ALL CODE PERMALINKS TO THE ACTUAL HEAD --\u003e\n\u003c!-- LATEST DOC COMMIT HASH: beb9b68c3b4e8277bb9f67e7463770bc80383c0c --\u003e\n\n## [lis-dbunit-migration](lis-dbunit-migration/README.md)\n\nA module that provides support for data set migration.\n\nhttps://github.com/link-intersystems/dbunit-extensions/blob/beb9b68c3b4e8277bb9f67e7463770bc80383c0c/lis-dbunit-migration/lis-dbunit-migration-integration-tests/src/test/java/com/link_intersystems/dbunit/migration/DataSetMigrationDocTest.java#L28-L41\n\n\n## [lis-dbunit-stream](lis-dbunit-stream/README.md)\n\nThe stream module provides a lot of utility classes for dbunit stream handling.\n\nIt also contains the `stream.commands` package that provides a high level \napi for common dbunit tasks.\n\n    Connection sourceConnection = ...; // java.sql.Connection\n    DatabaseConnection databaseConnection = new DatabaseConnection(sourceConnection);\n    DatabaseDataSet databaseDataSet = new DatabaseDataSet(databaseConnection, false);\n    \n    DataSetCommand migrateCommand = new DataSetCommand(databaseDataSet);\n    migrateCommand.setTables(\"actor\", \"film_actor\", \"film\");\n    migrateCommand.setTableOrder(new DatabaseTableOrder(databaseConnection));\n    migrateCommand.setResultDecorator(ds -\u003e new ConsistentDatabaseDataSet(databaseConnection, ds));\n    \n    migrateCommand.setCsvConsumer(\"target/export/csv\");\n\n    migrateCommand.exec();\n\n\n## [lis-dbunit-dataset](lis-dbunit-dataset/README.md)\n\nFor details take a look at [lis-dbunit-dataset](lis-dbunit-dataset/README.md)\n\n### TableBrowser\n\nThe `TableBrowser` can be used to extract a dataset based on a kind of extract description.\nThis description can be build using a domain-specific language. E.g.\n\nhttps://github.com/link-intersystems/dbunit-extensions/blob/beb9b68c3b4e8277bb9f67e7463770bc80383c0c/lis-dbunit-dataset/src/test/java/com/link_intersystems/dbunit/dataset/browser/main/TableBrowserDocTest.java#L19-L31\n\n### ConsistentDataSetLoader\n\nThe `ConsistentDataSetLoader` is another option to load consistent datasets. You can\npass it an SQL-Select statement.\n\nhttps://github.com/link-intersystems/dbunit-extensions/blob/beb9b68c3b4e8277bb9f67e7463770bc80383c0c/lis-dbunit-dataset/src/test/java/com/link_intersystems/dbunit/dataset/consistency/ConsistentDataSetLoaderDocTest.java#L24-L52\n\n## lis-dbunit-table\n\nProvides extensions for dealing with dbunit tables. \n\n- **MergedTable**: Merged two or more tables by the primary key definition so that the result table's rows are distinct.\n- **TableList**: A list of tables that can be packed to make the tables unique using MergedTables.\n- **CellRowFilter**: Filters rows based on a column predicate.\n- **ColumnList**: Provides filter and query methods for a list of columns.\n- **ColumnPredicates**: Convenience class that provides reusable predicates that can be applied to columns.\n- **TableUtil**: Convenience methods for table related queries.\n\n        ITable table = ...;\n        TableUtil tableUtil = new TableUtil(table);\n\n        Row row = tableUtil.getRowById(321);\n    \n        for (Object cellValua : row) {\n            System.out.println(cellValue)\n        }\n\n## lis-dbunit-beans\n\nProvides Java Beans support for IDataSets which allows you to define a data set from a collection of beans. Since\nJava Beans are based on Java classes you can use refactoring tools to reflect database schema changes.\n\n    List\u003cBeanList\u003c?\u003e\u003e beanLists = new ArrayList\u003c\u003e();\n\n    BeanList\u003cEmployeeBean\u003e employeeBeans = new BeanList\u003c\u003e(EmployeeBean.class, asList(EmployeeBean.king(), EmployeeBean.blake()));\n    beanLists.add(employeeBeans);\n\n    BeanList\u003cDepartmentBean\u003e departmentBeans = new BeanList\u003c\u003e(DepartmentBean.class, asList(DepartmentBean.accounting(), DepartmentBean.sales(), DepartmentBean.research()));\n    beanLists.add(departmentBeans);\n\n    beanDataSet = new BeanDataSet(beanLists);\n\nThe `ITableMetaData` for bean based data sets is determined using a `BeanTableMetaDataProvider`. The `DefaultBeanTableMetaDataProvider`\ncan be customized by setting a `PropertyConversion`. The `PropertyConversion` is responsible for converting bean properties to\ndatabase types and vice versa. The `DefaultPropertyConversion` uses the `DefaultDataTypeRegistry` and the `DefaultPropertyTypeRegistry`\nto convert property values.\n\n## lis-dbunit-sql\n\nProvides support for generating sql insert scripts from a IDataSet.\n\n    // Instantiate a SqlDialect \n    // Either from \n    // - com.link-intersystems.commons:lis-commons-sql \n    // or \n    // - com.link-intersystems.commons:lis-commons-sql-hibernate\n    SqlDialect sqlDialect = new DefaultSqlDialect();\n\n    // Create a SqlStatementWriter that generates the sql script.\n    Writer writer = ....; // from java.io\n    SqlStatementWriter sqlStatementWriter = new SqlStatementWriter(sqlDialect, writer);\n\n    // Configure the output format if needed\n    SqlFormatSettings sqlFormatSettings = new SqlFormatSettings();\n    sqlStatementWriter.setSqlFormatSettings(sqlFormatSettings);\n    \n    IDataSet dataSet = ...; // A dbunit data set to export.\n    DataSetProducerAdapter dataSetProducerAdapter = new DataSetProducerAdapter(dataSet);\n    dataSetProducerAdapter.setConsumer(sqlStatementWriter);\n    dataSetProducerAdapter.produce();\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flink-intersystems%2Fdbunit-extensions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flink-intersystems%2Fdbunit-extensions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flink-intersystems%2Fdbunit-extensions/lists"}