Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

requestly/requestly-mock-server

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

requestly-mock-server

This Repo contains the core express server @requestly/mock-server package which powers Requestly's Cloud Mock Server.

Development

Install Dependencies

npm i

Start Server

npm start:dev

Usage with firebase-functions

Install

npm i @requestly/mock-server

Setup

import * as functions from 'firebase-functions';
import { MockServer } from '@requestly/mock-server';
import firebaseConfig from '../firebaseConfig';

const startMockServer = () => {
  const expressApp = new MockServer(3000, firebaseConfig, '/api/mockv2').app;

  return functions.runWith({ minInstances: isProdEnv() ? 1 : 0 }).https.onRequest(expressApp);
};

export const handleMockRequest = startMockServer();
class FirebaseConfig implements IConfig {
    getMockSelectorMap = (kwargs?: any) => {
        /**
        * Fetch and return mockSelectorMap from firestore
        * {
        *      mockId: {
        *          route: "",
        *          method: "",
        *      }
        * }
        */
    };
    
    getMock = (id: string, kwargs?: any) => {
        /**
        * Fetch mock details from firestore
        */
    }

    storeLog? = (log: Log) => {
        /**
        * Store log in cloud storages
        */
    }
}

const firebaseConfig = new FirebaseConfig();
export default firebaseConfig;

Requestly Cloud Mock Server Architechture

image

STEPS

  1. Request coming from GET https://username.requestly.dev/users
  2. Firebase Function passes the request to @requestly/mock-server
  3. @requestly/mock-server - MockSelector a. Fetches all the available mocks using IConfig.getMockSelectorMap() (Firestore in case of Requestly) b. Select mock if any endpoint+method matches the incoming request (GET /users) c. Fetch Mock using IConfig.getMock(mockId) and pass it to MockProcessor
  4. @requestly/mock-server - MockProcessor a. Process Mock - Response Rendering b. Return Response

Packages

No packages published

Contributors 5

Morty Proxy This is a proxified and sanitized view of the page, visit original site.