/clocal-azure

🔬 Emulation engine for Azure

Primary LanguageJavaScriptApache License 2.0Apache-2.0

An emulation engine for Azure Services

Clocal-azure provides an easy-to-use test/mocking framework for developing Cloud applications.

Currently features are under development.

🚀 Install

Requirements

  • NodeJS (^8.9.4)
  • yarn (^1.6.0)
  • Docker
  • MYSQL
  • MongoDB
$ git clone https://github.com/cloudlibz/clocal-azure.git
$ cd clocal-azure
$ yarn
$ yarn link (Install clocal commands)
$ yarn start <command>
         or
$ clocal <command>

📚 Overview

Clocal-azure spins up the following core Cloud APIs on your local machine:

📟 Services & Ports

Commands

All Services at once

Step 1: Go to compose.env file and specify the path to create the images for azure functions and azure api app service and azure cosmosdb.

Step 2: Run the shell script as below.

Ubuntu OS: $ yarn service or $ bash compose.sh

Mac OS: $ yarn service or $ bash compose.sh or $ sh compose.sh

Compose-Result

Azure Functions

  • Init Functions
$ clocal function-init <folder>

Azure functions working directory is located in example/azure-functions. You can create a folder inside the location and give the folder location. Then attach the init file where the service starting file. Example: clocal function-init function-sample

  • Start Functions
$ clocal function-start
  • Stop Functions
$ clocal function-stop 

Azure Storage

Azure storage comprises of azure blobs, queues and tables. See the example/azure-storage for sample project.

  • Start Storage
$ clocal storage-start
  • Stop Storage
$ clocal storage-stop
  • Clear all files created
$ clocal storage-clear
  • List files To list all files
$ clocal storage-query

To list specific folder files

$ clocal storage-query folder_name

Azure CosmosDB (Only Windows Supported)

  • Init CosmosDB
$ clocal cosmosdb-init

This will create the in-built image of the Cosmos DB emulator and will be on ready state to start the container.

  • Start CosmosDB
$ clocal cosmosdb-start
  • Stop CosmosDB
$ clocal cosmosdb-stop

Azure SQL Server

  • Start SQL Service
$ clocal sql-start
  • Stop SQL Service
$ exit

Azure KeyVault

  • Start KeyVault
$ clocal keyvault-start
  • Stop KeyVault
$ clocal keyvault-stop

Azure Search

  • Start Search
$ clocal search-start
  • Stop Search
$ cmd + c / ctrl + c

Azure CLI 2.0

  • Start CLI
$ clocal cli-start
  • Exit CLI
$ exit

Azure API App Service

Azure API working directory is located in example/azure-api-service. You can create a folder inside the location and give the folder location. Then attach the init file where the service starting file.

Example: clocal api-start ./ api.json

$ clocal api-start <folder> <init-file>

📝 Example Documents

📺 Demo Video Series

🔧 Testing

Before runs the tests, make sure all docker images have been installed.

$ yarn test

📝 Architecture

Sent by Gaurav Pandey

🙋 Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

📜 License

This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details

Acknowledgments

The project clocal-azure is initially developed for the Google Summer of Code 2018. Special thanks goes to my mentors Rumesh, Lasitha and Rajika and CloudLibz Organization.

Second phase of clocal-azure carried out for Google Summer of Code 2019. Once again I would like to thank my mentors Rumesh, Sammani, Rajika and Dilantha.