{"id":18082673,"url":"https://github.com/lomsa-com/http-mock-adapter","last_synced_at":"2026-01-11T04:53:14.309Z","repository":{"id":41186680,"uuid":"311308807","full_name":"lomsa-com/http-mock-adapter","owner":"lomsa-com","description":"A simple to use mocking package for Dio intended to be used in tests.","archived":false,"fork":false,"pushed_at":"2023-11-28T11:17:01.000Z","size":9464,"stargazers_count":68,"open_issues_count":18,"forks_count":42,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-12T17:07:35.220Z","etag":null,"topics":["dart","dart-package","dartlang","dio","flutter","flutter-package","http","http-adapter","integration-testing","mock","mockito","testing","testing-tools","unit-testing"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/http_mock_adapter","language":"Dart","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/lomsa-com.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"governance":null}},"created_at":"2020-11-09T10:54:42.000Z","updated_at":"2025-03-18T09:58:31.000Z","dependencies_parsed_at":"2023-11-28T12:29:18.932Z","dependency_job_id":null,"html_url":"https://github.com/lomsa-com/http-mock-adapter","commit_stats":null,"previous_names":["lomsa-com/http-mock-adapter","lomsa-dev/http-mock-adapter"],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lomsa-com%2Fhttp-mock-adapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lomsa-com%2Fhttp-mock-adapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lomsa-com%2Fhttp-mock-adapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lomsa-com%2Fhttp-mock-adapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lomsa-com","download_url":"https://codeload.github.com/lomsa-com/http-mock-adapter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248602315,"owners_count":21131616,"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":["dart","dart-package","dartlang","dio","flutter","flutter-package","http","http-adapter","integration-testing","mock","mockito","testing","testing-tools","unit-testing"],"created_at":"2024-10-31T14:03:09.419Z","updated_at":"2026-01-11T04:53:14.300Z","avatar_url":"https://github.com/lomsa-com.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# http-mock-adapter\n\n[![Package Version](https://img.shields.io/pub/v/http_mock_adapter?color=teal)](https://pub.dev/packages/http_mock_adapter \"Published package version\")\n[![Style: Lints](https://img.shields.io/badge/style-lints-teal.svg)](https://github.com/dart-lang/lints \"Package linter helper\")\n[![Dart CI](https://github.com/lomsa-dev/http-mock-adapter/workflows/Dart%20CI/badge.svg?branch=main)](https://github.com/lomsa-dev/http-mock-adapter/actions?query=workflow%3A%22Dart+CI%22 \"Dart CI workflow\")\n[![Publish Package](https://github.com/lomsa-dev/http-mock-adapter/workflows/Publish%20to%20pub.dev/badge.svg)](https://github.com/lomsa-dev/http-mock-adapter/actions/workflows/publish.yml \"Publish Package workflow\")\n[![LICENSE](https://img.shields.io/badge/License-MIT-red.svg)](https://github.com/lomsa-dev/http-mock-adapter#License \"Project's LICENSE section\")\n[![codecov](https://codecov.io/gh/lomsa-dev/http-mock-adapter/branch/main/graph/badge.svg?token=7H1HPCGFJ6)](https://codecov.io/gh/lomsa-dev/http-mock-adapter)\n\n## Description\n\n`http_mock_adapter` is a simple to use mocking package for [Dio](https://pub.dev/packages/dio) intended to be used in tests. It provides various types and methods to declaratively mock request-response communication.\n\n## Usage\n\nHere is a very basic usage scenario:\n\n```dart\nimport 'package:dio/dio.dart';\nimport 'package:http_mock_adapter/http_mock_adapter.dart';\n\nvoid main() async {\n  //// Exact body check \n  // final dio = Dio(BaseOptions(contentType: Headers.jsonContentType));\n  // dioAdapter = DioAdapter(\n  //  dio: dio,\n  //  matcher: const FullHttpRequestMatcher(needsExactBody: true),\n  // );\n\n  // Basic setup\n  final dio = Dio(BaseOptions());\n  final dioAdapter = DioAdapter(dio: dio);\n\n  const path = 'https://example.com';\n\n  dioAdapter.onGet(\n    path,\n    (server) =\u003e server.reply(\n      200,\n      {'message': 'Success!'},\n      // Reply would wait for one-sec before returning data.\n      delay: const Duration(seconds: 1),\n    ),\n  );\n\n  final response = await dio.get(path);\n\n  print(response.data); // {message: Success!}\n}\n```\n\n### Real-world example\n\nThe intended usage domain is in tests when trying to simulate behavior of request-response communication with a server. The [example](https://github.com/lomsa-dev/http-mock-adapter/blob/main/example/main.dart) portrays a decent use case of how one might make good use of the package.\n\n## Installing\n\n### Quick install\n\nYou can quickly install the package from the command-line:\n\nWith `dart`:\n\n```sh\n$ dart pub add --dev http_mock_adapter\n...\n```\n\nWith `flutter`:\n\n```sh\n$ flutter pub add --dev http_mock_adapter\n...\n```\n\n### Manual install\n\n#### Depend on it\n\nAdd this to your package's `pubspec.yaml` file:\n\n```yaml\ndev_dependencies:\n  http_mock_adapter: ^0.6.1\n```\n\n#### Install it\n\nYou can then install the package from the command-line:\n\nWith `dart`:\n\n```sh\n$ dart pub get\n...\n```\n\nWith `flutter`:\n\n```sh\n$ flutter pub get\n...\n```\n\nAlternatively, your editor might support `dart pub get` or `flutter pub get`. Check the docs for your editor to learn more.\n\n### Import it\n\nNow in your Dart code, you can use:\n\n```dart\nimport 'package:http_mock_adapter/http_mock_adapter.dart';\n```\n\n## Changelog\n\nAll notable changes to this project will be documented in the [CHANGELOG.md](https://github.com/lomsa-dev/http-mock-adapter/blob/main/CHANGELOG.md \"Project's CHANGELOG.md file\") file.\n\n## Authors\n\nSee the [AUTHORS](https://github.com/lomsa-dev/http-mock-adapter/blob/main/AUTHORS \"Project's AUTHORS file\") file for information regarding the authors of the project.\n\n## License\n\nhttp-mock-adapter is licensed under the permissive MIT License ([LICENSE](https://github.com/lomsa-dev/http-mock-adapter/blob/main/LICENSE \"Copy of the MIT license\")).\n\n## Contribution\n\n\u003ca href=\"https://github.com/lomsa-dev/http-mock-adapter/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=lomsa-dev/http-mock-adapter\" /\u003e\n\u003c/a\u003e\n\nMade with [contrib.rocks](https://contrib.rocks).\n\nFor information regarding contributions, please refer to [CONTRIBUTING.md](https://github.com/lomsa-dev/http-mock-adapter/blob/main/CONTRIBUTING.md \"Project's CONTRIBUTING.md file\") file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flomsa-com%2Fhttp-mock-adapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flomsa-com%2Fhttp-mock-adapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flomsa-com%2Fhttp-mock-adapter/lists"}