Skip to content

Instantly share code, notes, and snippets.

View antonkrasov's full-sized avatar

Anton Krasov antonkrasov

View GitHub Profile
import 'package:flutter/material.dart';
class TaskEzColors {
static const Color white = Colors.white;
static const Color primary = Color(0xff246BFD);
static const Color secondary = Color(0xffC25FFF);
static const Color bg1 = Color(0xff181A20);
static const Color bg2 = Color(0xff262A34);
static const Color stateDeactive = Color(0xff5E6272);
@antonkrasov
antonkrasov / app_test.dart
Created November 22, 2022 22:15
Flutter Automation tutorial files. Dart script to run flutter integration tests on multiple iOs simulators and Android emulators and integration test file itself.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart';
import 'package:taskezdev/main.dart' as app;
import 'package:taskezdev/main.dart';
import 'helpers.dart';
void main() {
@antonkrasov
antonkrasov / app_test.dart
Created November 22, 2022 22:12
Integration test file for Flutter Automation tutorial
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart';
import 'package:taskezdev/main.dart' as app;
import 'package:taskezdev/main.dart';
import 'helpers.dart';
void main() {
const firebaseApiKey = pm.environment.get("firebaseApiKey")
const firebaseTestUserEmail = pm.environment.get("firebaseTestUserEmail")
const firebaseTestUserPassword = pm.environment.get("firebaseTestUserPassword")
const options = {
url: `https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=${firebaseApiKey}`,
method: 'POST',
header: {
'Accept': '*/*',
'Content-Type': 'application/json',
var jsonData = JSON.parse(responseBody);
pm.expect(jsonData.idToken).to.be.a('string');
postman.setEnvironmentVariable("firebaseIdToken", jsonData.idToken);
{
"decodedToken": {
"iss": "<https://securetoken.google.com/givemefirebasetoken-sample",
"aud": "givemefirebasetoken-sample",
"auth_time": 1651977397,
"user_id": "aoiC7bM0vFQTMPj24ueGMRegf1k2",
"sub": "aoiC7bM0vFQTMPj24ueGMRegf1k2",
"iat": 1651977397,
"exp": 1651980997,
"email": "anton.krasov@gmail.com",
curl --location --request GET '<https://us-central1-givemefirebasetoken-sample.cloudfunctions.net/protectedEndpoint>' \\
--header 'x-api-token: eyJhbGciOiJSUzI1NiIsImtpZ....09HlrF49MRWo9qq0_c6UiMHdBZUavNXyuFyjC85dpSxJrNtJSwH5OQa22dIwdbNmfMqz6ljAivIkjw5aX2GrF5ViFCdp4Tew5iw'
{
"kind": "identitytoolkit#SignupNewUserResponse",
"idToken": "eyJhbGciOiJSUzI1NiIsImtpZ....gkULJig1ypXaA",
"email": "anton.krasov@gmail.com",
"refreshToken": "AIwUaOkfNuMg8Kdatx-Hy8_5Ti0sm....-dKiN0CGkDfX1ch5f69g5Y5K",
"expiresIn": "3600",
"localId": "aoiC7bM0v....ueGMRegf1k2"
}
curl --location --request POST '<https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=AIzaSyAHV1eUu8EqCSUeycofXqfL******>' \\
--header 'Content-Type: application/json' \\
--data-raw '{
"email": "anton.krasov@gmail.com",
"password": "******",
"returnSecureToken": true
}'
➜ ~ curl https://us-central1-givemefirebasetoken-sample.cloudfunctions.net/protectedEndpoint
{"error":"'x-api-token' header is required!"}%