<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aura – </title>
    <link>/docs/experiences-builder/tools/aura-mocks-server/</link>
    <description>Recent content on Aura</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    
	  <atom:link href="/docs/experiences-builder/tools/aura-mocks-server/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/tools/aura-mocks-server/installation/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/tools/aura-mocks-server/installation/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-mocks-server-installation&#34;&gt;Aura Mocks server installation&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Guidelines for the installation, testing and deployment of Aura Mocks Server&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;These instructions will allow you to get a copy of the project running on your local machine for development and testing purposes.&lt;/p&gt;
&lt;p&gt;The following pre-requirements are needed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;nodeJS installed version: 12 or higher&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;    $ node --version
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Download from git:
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ git clone https://github.com/Telefonica/aura-mocks-server.git
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;Build project:
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ npm run build
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;run-tests&#34;&gt;Run tests&lt;/h2&gt;
&lt;p&gt;This project uses &lt;strong&gt;tslint&lt;/strong&gt; to validate the coding style.&lt;/p&gt;
&lt;h3 id=&#34;code-style-tests&#34;&gt;Code style tests&lt;/h3&gt;
&lt;p&gt;These tests perform the validation coding rules defined in aura using the &lt;strong&gt;tslint&lt;/strong&gt; tool.&lt;/p&gt;
&lt;p&gt;You can validate the code using:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;   $ npm run lint
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;deployment&#34;&gt;Deployment&lt;/h2&gt;
&lt;p&gt;This project uses Jenkins to generate the docker image in the azure registry.&lt;/p&gt;
&lt;p&gt;You can download the image using pull:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;docker pull auraregistry.azurecr.io/aura/aura-mocks-server:&amp;lt;VERSION&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;build-local-docker-image&#34;&gt;Build local docker image&lt;/h3&gt;
&lt;p&gt;To build docker image execute:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ docker build -f ./delivery/docker/Dockerfile -t auraregistry.azurecr.io/aura-mocks-server .
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;run-server&#34;&gt;Run server&lt;/h3&gt;
&lt;p&gt;To start mock server:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;    $ docker run -d -p 3000:3000 auraregistry.azurecr.io/aura-mocks-server
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This starts a server listening on port &lt;code&gt;3000&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;deploy&#34;&gt;Deploy&lt;/h3&gt;
&lt;p&gt;To deploy in performance environments, there is a convinient deployment yaml in &lt;em&gt;aurak8s&lt;/em&gt; repository at &lt;code&gt;tools/mocks/deployment.yml&lt;/code&gt; so you just need to run &lt;code&gt;kubectl apply -f tools/mocks/deployment.yml&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;developer-notes&#34;&gt;Developer notes&lt;/h3&gt;
&lt;p&gt;The folder structure used for development is:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-pre&#34; data-lang=&#34;pre&#34;&gt;src
├── api             // Statics API code
├── modules         // Modules code (jsonserver)
├── scripts         // Scripts
└── shared          // Shared code between APIs and modules.
    ├── common
    └── services
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;versioning&#34;&gt;Versioning&lt;/h2&gt;
&lt;p&gt;We use [SemVer] (&lt;a href=&#34;http://semver.org/&#34;&gt;http://semver.org/&lt;/a&gt;) for versioning.&lt;/p&gt;
&lt;p&gt;For all available versions, look at the &lt;a href=&#34;https://github.com/Telefonica/aura-mocks-server/tags&#34;&gt;tags in this repository&lt;/a&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/tools/aura-mocks-server/plugins/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/tools/aura-mocks-server/plugins/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-mocks-server-plugins&#34;&gt;Aura mocks server plugins&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt; plugins are components that provide different functionalities to this component&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt; is composed of plugins, which provide functionality to the tool. Plugins work independently, the same way as a service in a microservices oriented architecture: isolated, self-contained and without affecting other existing functionality in the system.&lt;/p&gt;
&lt;p&gt;Discover in the current documents detailed information regarding &lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt; plugins:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Descriptive information regarding plugins: &lt;a href=&#34;#types-of-plugins&#34;&gt;types of plugins&lt;/a&gt;, &lt;a href=&#34;#plugins-management&#34;&gt;plugins management&lt;/a&gt;, &lt;a href=&#34;#plugin-basic-structure&#34;&gt;plugin basic structure&lt;/a&gt;, &lt;a href=&#34;#plugins-modules&#34;&gt;plugins modules&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Available plugins in the &lt;a href=&#34;#global-plugins-catalog&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt; global plugins catalog&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;global-plugins-catalog&#34;&gt;Global plugins catalog&lt;/h2&gt;
&lt;p&gt;The available global plugins of &lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt; are included in the &lt;a href=&#34;https://github.com/Telefonica/aura-mocks-server/tree/master/src/plugins&#34;&gt;Github global plugins repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Aura Platform Team is progressively documenting each plugin within the current documents. Check the already documented ones in the left sidebar index.&lt;/p&gt;
&lt;h2 id=&#34;types-of-plugins&#34;&gt;Types of plugins&lt;/h2&gt;
&lt;p&gt;There are different types of plugins:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Api&lt;/strong&gt;. REST services that perform specific tasks not associated with the communication with a channel.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Client&lt;/strong&gt;. These plugins define clients that can be used to communicate with a channel. These clients are normally used by &lt;em&gt;&lt;strong&gt;processor&lt;/strong&gt;&lt;/em&gt; plugins.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Processor&lt;/strong&gt;. Plugins in charge of communicating with a channel, transforming the message received from a source channel to a destination channel.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Service&lt;/strong&gt;. Utility plugins to be used by the rest of plugins.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;plugins-management&#34;&gt;Plugins management&lt;/h2&gt;
&lt;p&gt;As indicated in the previous section, &lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt; uses the library&lt;a href=&#34;https://github.com/architect/architect&#34;&gt;@architect/architect&lt;/a&gt; for the management of plugins, so it is the &lt;em&gt;&lt;strong&gt;architect&lt;/strong&gt;&lt;/em&gt; library that is responsible for managing the dependencies injection in each module.&lt;/p&gt;
&lt;p&gt;To create the &lt;em&gt;&lt;strong&gt;architect&lt;/strong&gt;&lt;/em&gt; application, &lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt; uses the &lt;code&gt;PluginManager&lt;/code&gt; module (located in the &lt;em&gt;modules/plugin-manager&lt;/em&gt; folder). This module starts as the rest of modules at the &lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt; start-up.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;PluginManager&lt;/code&gt; performs the following tasks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It starts the &lt;em&gt;&lt;strong&gt;architect&lt;/strong&gt;&lt;/em&gt; application with the plugins defined in &lt;code&gt;plugin-config.json&lt;/code&gt; file, located at the root of the &lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt; component.&lt;/li&gt;
&lt;li&gt;It adds the core modules to the IOC context. See the section &lt;a href=&#34;#plugins-modules&#34;&gt;modules added by &lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;It stores the information of each module defined in the plugins.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An example to define &lt;em&gt;&lt;strong&gt;aura-mocks-server-example-service&lt;/strong&gt;&lt;/em&gt; plugin of the previous section is shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;/* file: plugin-config.json */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;./lib/plugins/aura-mocks-server-example-service&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Currently, the plugins are in the &lt;em&gt;src/plugins&lt;/em&gt; folder of &lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt;, but in the future these plugins should be independent libraries and could be charged by library name (for example: &lt;em&gt;@telefonica/aura-mocks-server-example-service&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Apart from the &lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt; core environment variables, each plugin can define its own specific variables.&lt;/p&gt;
&lt;h2 id=&#34;plugin-basic-structure&#34;&gt;Plugin basic structure&lt;/h2&gt;
&lt;p&gt;Currently, &lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt; uses &lt;a href=&#34;https://github.com/architect/architect&#34;&gt;@architect/architect&lt;/a&gt; library for plugins management.&lt;/p&gt;
&lt;p&gt;A basic plugin must define at least:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A &lt;code&gt;package.json&lt;/code&gt; file defining the library, like any other JavaScript library, with a &lt;code&gt;plugin&lt;/code&gt; section defining which modules it consumes and supplies.&lt;/li&gt;
&lt;li&gt;A source code file that defines the modules that it supplies (&lt;code&gt;index.ts&lt;/code&gt; for example).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The structure of this basic plugin is as follows:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-pre&#34; data-lang=&#34;pre&#34;&gt;aura-mocks-server-example-service
├── index.ts
└── package.json
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;A couple of examples with the content of each file are included below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;/* file: index.ts */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;PluginType&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;registerPlugin&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;from&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;@telefonica/xxxx-server-common&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;v4&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;as&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;uuidv4&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;from&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;uuid&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Services&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;from&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;./example-consume-services&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;registerPlugin&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;([&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;PluginType&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Service&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;       &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// Plugin service type
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;        &lt;span style=&#34;color:#000&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;exampleService&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;         &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// Name of the plugin service
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;        &lt;span style=&#34;color:#000&#34;&gt;instance&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;                     &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// [provides] Instance that provides the module
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;            &lt;span style=&#34;color:#000&#34;&gt;getUniqueId() {&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;uuidv4&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000&#34;&gt;services&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;Services&lt;/span&gt;              &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// [consumes] Needed modules are added here
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;/* file: package.json */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;@telefonica/aura-mocks-server-example-service&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;version&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;1.0.0&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;index.js&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;private&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;plugin&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;consumes&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;configurationManager&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;provides&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;exampleService&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The modules specified in the &lt;code&gt;plugin.consumes&lt;/code&gt; field define the services that are needed by this plugin. The modules specified in the &lt;code&gt;plugin.provides&lt;/code&gt; field define the modules that this plugin offers.&lt;/p&gt;
&lt;h2 id=&#34;plugins-modules&#34;&gt;Plugins modules&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt; currently adds three modules that can be used by the different plugins. To use them, it is only necessary to add the &lt;code&gt;package.json&lt;/code&gt; dependencies on &lt;code&gt;plugin.consumes&lt;/code&gt; (like any other module/component).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;configurationManager&lt;/strong&gt;&lt;/em&gt;: Module with the &lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt;  configuration information.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;auramocks-serverCache&lt;/strong&gt;&lt;/em&gt;: Module to manage the &lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt;  cache.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;prometheus&lt;/strong&gt;&lt;/em&gt;: Service for metrics management.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A plugin can provide one or more plugin modules and each plugin module can be of a different type. Each type of module is intended to add a specific functionality to &lt;em&gt;&lt;strong&gt;aura-mocks-server&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The existing types are defined in &lt;code&gt;PluginType&lt;/code&gt;, which are described in the following sections.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;enum&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;PluginType&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000&#34;&gt;Api&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;Api&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000&#34;&gt;Client&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;Client&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000&#34;&gt;Processor&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;Processor&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000&#34;&gt;Service&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;Service&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
  </channel>
</rss>
