Skip to content

Commit 1fcb2ac

Browse files
authored
docs(examples): add echo example (#235)
1 parent 555115c commit 1fcb2ac

File tree

7 files changed

+95
-0
lines changed

7 files changed

+95
-0
lines changed

.github/workflows/examples_echo.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: examples/echo
2+
3+
concurrency:
4+
group: ${{ github.workflow }}-${{ github.ref }}
5+
cancel-in-progress: true
6+
7+
on:
8+
pull_request:
9+
paths:
10+
- "examples/echo/routes/**"
11+
- "examples/echo/lib/**"
12+
- "examples/echo/test/**"
13+
- ".github/workflows/examples_echo.yaml"
14+
branches:
15+
- main
16+
17+
jobs:
18+
build:
19+
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/dart_package.yml@v1
20+
with:
21+
working_directory: examples/echo
22+
analyze_directories: "routes test"
23+
report_on: "routes"

examples/echo/.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# See https://www.dartlang.org/guides/libraries/private-files
2+
3+
# Files and directories created by pub
4+
.dart_tool/
5+
.packages
6+
pubspec.lock
7+
8+
# Files and directories created by dart_frog
9+
build/
10+
.dart_frog
11+
12+
# Test related files
13+
coverage/

examples/echo/README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# echo
2+
3+
[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link]
4+
[![License: MIT][license_badge]][license_link]
5+
6+
An example echo app built with `dart_frog`.
7+
8+
[license_badge]: https://img.shields.io/badge/license-MIT-blue.svg
9+
[license_link]: https://opensource.org/licenses/MIT
10+
[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg
11+
[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis

examples/echo/analysis_options.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
include: package:very_good_analysis/analysis_options.3.0.1.yaml
2+
analyzer:
3+
exclude:
4+
- build/**
5+
linter:
6+
rules:
7+
file_names: false

examples/echo/pubspec.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: echo
2+
description: An example echo app built with Dart Frog.
3+
version: 1.0.0+1
4+
publish_to: none
5+
6+
environment:
7+
sdk: ">=2.17.0 <3.0.0"
8+
9+
dependencies:
10+
dart_frog: ^0.0.1-dev
11+
12+
dev_dependencies:
13+
mocktail: ^0.3.0
14+
test: ^1.19.2
15+
very_good_analysis: ^3.0.1

examples/echo/routes/[message].dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import 'package:dart_frog/dart_frog.dart';
2+
3+
Response onRequest(RequestContext context, String message) {
4+
return Response(body: message);
5+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import 'dart:io';
2+
3+
import 'package:dart_frog/dart_frog.dart';
4+
import 'package:mocktail/mocktail.dart';
5+
import 'package:test/test.dart';
6+
7+
import '../../routes/[message].dart' as route;
8+
9+
class _MockRequestContext extends Mock implements RequestContext {}
10+
11+
void main() {
12+
group('GET /<message>', () {
13+
test('responds with a 200 and echos the message.', () async {
14+
const message = 'echo';
15+
final context = _MockRequestContext();
16+
final response = route.onRequest(context, message);
17+
expect(response.statusCode, equals(HttpStatus.ok));
18+
expect(response.body(), completion(equals(message)));
19+
});
20+
});
21+
}

0 commit comments

Comments
 (0)