Explorar o código

HTML all test are working

willi %!s(int64=5) %!d(string=hai) anos
pai
achega
cbfb6314ed
Modificáronse 4 ficheiros con 178 adicións e 122 borrados
  1. 132 110
      .idea/workspace.xml
  2. 5 2
      lib/src/ModuleHTTP.cpp
  3. 3 0
      lib/test/server/server.py
  4. 38 10
      lib/test/test_ModuleHTTP.cpp

+ 132 - 110
.idea/workspace.xml

@@ -15,11 +15,8 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="4ddbafad-b85e-492e-80ec-3c73ef45688f" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/lib/include/ModuleHTTP.h" beforeDir="false" afterPath="$PROJECT_DIR$/lib/include/ModuleHTTP.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/lib/src/ModuleHTTP.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/ModuleHTTP.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/lib/src/ModuleMath.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/ModuleMath.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/lib/src/ModuleSwitch.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/ModuleSwitch.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/test/server/server.py" beforeDir="false" afterPath="$PROJECT_DIR$/lib/test/server/server.py" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/lib/test/test_ModuleHTTP.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/lib/test/test_ModuleHTTP.cpp" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/cmake-build-debug/" />
@@ -38,11 +35,11 @@
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/lib/src/ModuleMath.cpp">
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/lib/src/ModuleHTTP.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="135">
-              <caret line="9" column="39" lean-forward="true" selection-start-line="9" selection-start-column="39" selection-end-line="9" selection-end-column="39" />
+            <state relative-caret-position="361">
+              <caret line="88" column="27" lean-forward="true" selection-start-line="88" selection-start-column="27" selection-end-line="88" selection-end-column="27" />
               <folding>
                 <element signature="e#0#23#0" expanded="true" />
               </folding>
@@ -51,98 +48,80 @@
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/lib/src/ModuleHTTP.cpp">
+        <entry file="file:///usr/include/c++/7/thread">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="74">
-              <caret line="38" selection-start-line="38" selection-end-line="38" />
-              <folding>
-                <element signature="e#0#23#0" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/lib/test/test_ModuleHTTP.cpp">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="388">
-              <caret line="64" column="31" selection-start-line="64" selection-start-column="31" selection-end-line="64" selection-end-column="31" />
-              <folding>
-                <element signature="e#0#24#0" expanded="true" />
-                <element signature="e#91#119#0" expanded="true" />
-              </folding>
+            <state relative-caret-position="184">
+              <caret line="134" selection-start-line="134" selection-end-line="134" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file:///usr/include/c++/7/bits/shared_ptr_base.h">
+        <entry file="file://$PROJECT_DIR$/lib/src/Input.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="202">
-              <caret line="682" selection-start-line="682" selection-end-line="682" />
+            <state relative-caret-position="420">
+              <caret line="37" column="21" lean-forward="true" selection-start-line="37" selection-start-column="21" selection-end-line="37" selection-end-column="21" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/lib/src/ModuleBase.cpp">
+        <entry file="file:///usr/include/c++/7/bits/basic_string.h">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="187">
-              <caret line="46" column="20" selection-start-line="46" selection-start-column="20" selection-end-line="46" selection-end-column="20" />
+            <state relative-caret-position="202">
+              <caret line="419" column="6" selection-start-line="419" selection-start-column="6" selection-end-line="419" selection-end-column="6" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/lib/src/ModuleSwitch.cpp">
+        <entry file="file://$PROJECT_DIR$/lib/test/test_ModuleHTTP.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="112">
-              <caret line="8" column="39" lean-forward="true" selection-start-line="8" selection-start-column="39" selection-end-line="8" selection-end-column="39" />
+            <state relative-caret-position="373">
+              <caret line="96" column="31" lean-forward="true" selection-start-line="96" selection-start-column="31" selection-end-line="96" selection-end-column="31" />
               <folding>
-                <element signature="e#0#25#0" expanded="true" />
+                <element signature="e#0#24#0" expanded="true" />
+                <element signature="e#91#119#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/lib/include/Input.h">
+        <entry file="file:///usr/include/c++/7/bits/stl_vector.h">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="390">
-              <caret line="30" column="26" selection-start-line="30" selection-start-column="26" selection-end-line="30" selection-end-column="26" />
-              <folding>
-                <element signature="e#41#58#0" expanded="true" />
-              </folding>
+            <state relative-caret-position="199">
+              <caret line="563" selection-start-line="563" selection-end-line="563" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/lib/include/Output.h">
+        <entry file="file:///usr/include/c++/7/bits/shared_ptr_base.h">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="90">
-              <caret line="6" column="10" selection-start-line="6" selection-start-column="10" selection-end-line="6" selection-end-column="10" />
-              <folding>
-                <element signature="e#42#62#0" expanded="true" />
-              </folding>
+            <state relative-caret-position="202">
+              <caret line="682" selection-start-line="682" selection-end-line="682" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/lib/include/IType.h">
+        <entry file="file://$PROJECT_DIR$/lib/src/ModuleBase.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="75">
-              <caret line="5" lean-forward="true" selection-start-line="5" selection-end-line="5" />
+            <state relative-caret-position="412">
+              <caret line="61" selection-start-line="61" selection-end-line="61" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/lib/src/Output.cpp">
+        <entry file="file://$PROJECT_DIR$/lib/src/ModuleSwitch.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="30">
-              <caret line="2" column="12" selection-start-line="2" selection-start-column="12" selection-end-line="2" selection-end-column="12" />
+            <state relative-caret-position="112">
+              <caret line="8" column="39" lean-forward="true" selection-start-line="8" selection-start-column="39" selection-end-line="8" selection-end-column="39" />
+              <folding>
+                <element signature="e#0#25#0" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
@@ -220,8 +199,8 @@
         <option value="$PROJECT_DIR$/lib/include/ModuleHTTP.h" />
         <option value="$PROJECT_DIR$/lib/src/ModuleMath.cpp" />
         <option value="$PROJECT_DIR$/lib/src/ModuleSwitch.cpp" />
-        <option value="$PROJECT_DIR$/lib/src/ModuleHTTP.cpp" />
         <option value="$PROJECT_DIR$/lib/test/test_ModuleHTTP.cpp" />
+        <option value="$PROJECT_DIR$/lib/src/ModuleHTTP.cpp" />
       </list>
     </option>
   </component>
@@ -428,44 +407,44 @@
       <workItem from="1590496125616" duration="6000" />
       <workItem from="1590497401566" duration="1517000" />
       <workItem from="1590576799306" duration="7324000" />
-      <workItem from="1590657068263" duration="4158000" />
+      <workItem from="1590657068263" duration="9859000" />
     </task>
     <servers />
   </component>
   <component name="TestHistory">
-    <history-entry file="All_in_auslegung_test - 2020.05.28 at 12h 01m 11s.xml">
+    <history-entry file="All_in_auslegung_test - 2020.05.28 at 13h 28m 50s.xml">
       <configuration name="All in auslegung_test" configurationId="CMakeGoogleTestRunConfigurationType" />
     </history-entry>
-    <history-entry file="All_in_auslegung_test - 2020.05.28 at 12h 01m 18s.xml">
+    <history-entry file="All_in_auslegung_test - 2020.05.28 at 13h 31m 56s.xml">
       <configuration name="All in auslegung_test" configurationId="CMakeGoogleTestRunConfigurationType" />
     </history-entry>
-    <history-entry file="All_in_auslegung_test - 2020.05.28 at 12h 12m 50s.xml">
+    <history-entry file="All_in_auslegung_test - 2020.05.28 at 13h 32m 04s.xml">
       <configuration name="All in auslegung_test" configurationId="CMakeGoogleTestRunConfigurationType" />
     </history-entry>
-    <history-entry file="All_in_auslegung_test - 2020.05.28 at 12h 14m 19s.xml">
+    <history-entry file="All_in_auslegung_test - 2020.05.28 at 13h 32m 36s.xml">
       <configuration name="All in auslegung_test" configurationId="CMakeGoogleTestRunConfigurationType" />
     </history-entry>
-    <history-entry file="All_in_auslegung_test - 2020.05.28 at 12h 15m 12s.xml">
+    <history-entry file="All_in_auslegung_test - 2020.05.28 at 13h 41m 30s.xml">
       <configuration name="All in auslegung_test" configurationId="CMakeGoogleTestRunConfigurationType" />
     </history-entry>
-    <history-entry file="All_in_auslegung_test - 2020.05.28 at 12h 16m 08s.xml">
+    <history-entry file="All_in_auslegung_test - 2020.05.28 at 13h 45m 13s.xml">
       <configuration name="All in auslegung_test" configurationId="CMakeGoogleTestRunConfigurationType" />
     </history-entry>
-    <history-entry file="All_in_auslegung_test - 2020.05.28 at 12h 17m 42s.xml">
+    <history-entry file="All_in_auslegung_test - 2020.05.28 at 13h 45m 37s.xml">
       <configuration name="All in auslegung_test" configurationId="CMakeGoogleTestRunConfigurationType" />
     </history-entry>
-    <history-entry file="All_in_auslegung_test - 2020.05.28 at 12h 18m 33s.xml">
+    <history-entry file="All_in_auslegung_test - 2020.05.28 at 13h 47m 29s.xml">
       <configuration name="All in auslegung_test" configurationId="CMakeGoogleTestRunConfigurationType" />
     </history-entry>
-    <history-entry file="All_in_auslegung_test - 2020.05.28 at 12h 19m 30s.xml">
+    <history-entry file="All_in_auslegung_test - 2020.05.28 at 13h 49m 41s.xml">
       <configuration name="All in auslegung_test" configurationId="CMakeGoogleTestRunConfigurationType" />
     </history-entry>
-    <history-entry file="All_in_auslegung_test - 2020.05.28 at 12h 20m 06s.xml">
+    <history-entry file="All_in_auslegung_test - 2020.05.28 at 13h 51m 31s.xml">
       <configuration name="All in auslegung_test" configurationId="CMakeGoogleTestRunConfigurationType" />
     </history-entry>
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="180806000" />
+    <option name="totallyTimeSpent" value="186507000" />
   </component>
   <component name="TodoView" selected-index="1">
     <todo-panel id="selected-file">
@@ -480,19 +459,19 @@
     <frame x="0" y="-2" width="1920" height="1082" extended-state="6" />
     <editor active="true" />
     <layout>
-      <window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.49921754" visible="true" weight="0.2614728" />
+      <window_info content_ui="combo" id="Project" order="0" sideWeight="0.49921754" visible="true" weight="0.2614728" />
       <window_info id="Structure" order="1" sideWeight="0.5007825" side_tool="true" weight="0.22572039" />
       <window_info id="Favorites" order="2" sideWeight="0.5007825" side_tool="true" weight="0.22572039" />
       <window_info anchor="bottom" id="Message" order="0" />
       <window_info anchor="bottom" id="Find" order="1" />
-      <window_info anchor="bottom" id="Run" order="2" visible="true" weight="0.3557188" />
+      <window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.3557188" />
       <window_info anchor="bottom" id="Debug" order="3" weight="0.3336831" />
       <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
       <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
       <window_info anchor="bottom" id="TODO" order="6" weight="0.32948583" />
       <window_info anchor="bottom" id="Database Changes" order="7" />
       <window_info anchor="bottom" id="Messages" order="8" weight="0.3231899" />
-      <window_info anchor="bottom" id="Terminal" order="9" weight="0.2518797" />
+      <window_info anchor="bottom" id="Terminal" order="9" weight="0.2518363" />
       <window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
       <window_info anchor="bottom" id="Version Control" order="11" weight="0.32948583" />
       <window_info anchor="bottom" id="CMake" order="12" weight="0.32948583" />
@@ -562,10 +541,45 @@
   <component name="XDebuggerManager">
     <breakpoint-manager>
       <breakpoints>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/lib/test/test_ModuleHTTP.cpp</url>
+          <line>95</line>
+          <option name="timeStamp" value="32" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/lib/test/test_ModuleHTTP.cpp</url>
+          <line>89</line>
+          <option name="timeStamp" value="34" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/lib/test/test_ModuleHTTP.cpp</url>
+          <line>85</line>
+          <option name="timeStamp" value="35" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/lib/src/ModuleHTTP.cpp</url>
+          <line>92</line>
+          <option name="timeStamp" value="36" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/lib/src/ModuleHTTP.cpp</url>
+          <line>40</line>
+          <option name="timeStamp" value="37" />
+        </line-breakpoint>
         <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/lib/src/ModuleHTTP.cpp</url>
-          <line>39</line>
-          <option name="timeStamp" value="25" />
+          <line>85</line>
+          <option name="timeStamp" value="38" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/lib/src/ModuleHTTP.cpp</url>
+          <line>90</line>
+          <option name="timeStamp" value="39" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/lib/src/ModuleHTTP.cpp</url>
+          <line>73</line>
+          <option name="timeStamp" value="40" />
         </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
@@ -576,19 +590,6 @@
     </watches-manager>
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/thirdparty/json/CMakeLists.txt">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-315" />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/thirdparty/json/single_include/json.hpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="15">
-          <caret line="1" column="28" selection-start-line="1" selection-start-column="28" selection-end-line="1" selection-end-column="28" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/lib/test/test_TestClass.cpp" />
     <entry file="file://$PROJECT_DIR$/thirdparty/json/README.md">
       <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
         <state split_layout="SPLIT">
@@ -684,13 +685,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file:///usr/src/gtest/src/gtest.cc">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="37215">
-          <caret line="2481" selection-start-line="2481" selection-end-line="2481" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/lib/src/ProcessorBase.cpp">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="195">
@@ -834,13 +828,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/src/Input.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="420">
-          <caret line="37" column="21" lean-forward="true" selection-start-line="37" selection-start-column="21" selection-end-line="37" selection-end-column="21" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/lib/include/IOutput.h">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="210">
@@ -912,27 +899,52 @@
         </state>
       </provider>
     </entry>
+    <entry file="file:///usr/include/c++/7/bits/stl_vector.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="199">
+          <caret line="563" selection-start-line="563" selection-end-line="563" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file:///usr/src/gtest/src/gtest.cc">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="224">
+          <caret line="2776" column="3" lean-forward="true" selection-start-line="2776" selection-start-column="3" selection-end-line="2776" selection-end-column="3" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file:///usr/include/c++/7/bits/basic_string.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="202">
+          <caret line="419" column="6" selection-start-line="419" selection-start-column="6" selection-end-line="419" selection-end-column="6" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/lib/src/Input.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="420">
+          <caret line="37" column="21" lean-forward="true" selection-start-line="37" selection-start-column="21" selection-end-line="37" selection-end-column="21" />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/lib/src/ModuleBase.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="187">
-          <caret line="46" column="20" selection-start-line="46" selection-start-column="20" selection-end-line="46" selection-end-column="20" />
+        <state relative-caret-position="412">
+          <caret line="61" selection-start-line="61" selection-end-line="61" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/lib/src/ModuleHTTP.cpp">
+    <entry file="file:///usr/include/c++/7/thread">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="74">
-          <caret line="38" selection-start-line="38" selection-end-line="38" />
-          <folding>
-            <element signature="e#0#23#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="184">
+          <caret line="134" selection-start-line="134" selection-end-line="134" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/lib/test/test_ModuleHTTP.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="388">
-          <caret line="64" column="31" selection-start-line="64" selection-start-column="31" selection-end-line="64" selection-end-column="31" />
+        <state relative-caret-position="373">
+          <caret line="96" column="31" lean-forward="true" selection-start-line="96" selection-start-column="31" selection-end-line="96" selection-end-column="31" />
           <folding>
             <element signature="e#0#24#0" expanded="true" />
             <element signature="e#91#119#0" expanded="true" />
@@ -940,5 +952,15 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/lib/src/ModuleHTTP.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="361">
+          <caret line="88" column="27" lean-forward="true" selection-start-line="88" selection-start-column="27" selection-end-line="88" selection-end-column="27" />
+          <folding>
+            <element signature="e#0#23#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
   </component>
 </project>

+ 5 - 2
lib/src/ModuleHTTP.cpp

@@ -1,6 +1,7 @@
 #include "ModuleHTTP.h"
 #include <httplib.h>
 #include <iostream>
+#include <thread>
 
 using namespace httplib;
 
@@ -82,11 +83,13 @@ namespace mdd{
         _id(id),
         _port(port)
     {
-
         if(!fname.empty()){
-            std::string command = "python3 " + fname;
+            std::string command = "python3 " + fname+"&";
             system(command.c_str());
+            usleep(495000);
         }
+        int test = 0;
+        usleep(5000);
         updateLayout();
     }
 

+ 3 - 0
lib/test/server/server.py

@@ -49,6 +49,9 @@ class MainHandler(tornado.web.RequestHandler, ABC):
             self.write(json.dumps(inputs))
         elif param == "outputs":
             self.write(json.dumps(outputs))
+        elif param == "stop":
+            instance = tornado.ioloop.IOLoop.instance()
+            instance.add_callback(instance.stop)
         else:
             self.write("Error: GET /" + param)
             print("Error: GET /" + param)

+ 38 - 10
lib/test/test_ModuleHTTP.cpp

@@ -7,11 +7,13 @@
 #include <ModuleMath.h>
 #include <ModuleSwitch.h>
 #include <math.h>
-
+#include <thread>
 
 using namespace mdd;
 using namespace httplib;
-TEST(ModuleHTTP, updateLayout_create){
+
+void serverThread()
+{
     Server svr;
 
     svr.Get("/inputs", [](const Request& req, Response& res) {
@@ -48,23 +50,47 @@ TEST(ModuleHTTP, updateLayout_create){
         res.set_content(output_body.dump(), "application/json");
     });
 
-    svr.listen("localhost",8888);
+    svr.Get("/stop", [&](const Request& req, Response& res) {
+        svr.stop();
+    });
+    svr.listen("localhost", 8888);
+}
+
+TEST(ModuleHTTP, updateLayout_intern){
+    std::thread server (serverThread);
+    ModuleHTTP module("", "localhost", 8888);
 
-    json input_body;
+
+    Client cli("localhost",8888);
+    cli.Get("/stop");
+    server.join();
+
+    auto inputs_types = module.getInputs();
+    auto inputs_ids = module.getInputIDs();
     for (int i = 0; i < 5; ++i) {
-        json entity;
-        entity["type"] = "INPUT";
-        entity["value"] = i;
-        input_body.push_back(entity);
+        EXPECT_EQ(inputs_types[i], "INPUT");
+        EXPECT_EQ(module.getInput(inputs_ids[i])->getValue()["value"].get<int>(), i);
+        std::cout << module.getInput(inputs_ids[i])->getValue().dump() << std::endl;
+    }
+
+    auto outputs_types = module.getOutputs();
+    auto outputs_ids = module.getOutputIDs();
+    for (int i = 0; i < 3; ++i) {
+        EXPECT_EQ(outputs_types[i], "OUTPUT");
+        EXPECT_EQ(module.getOutput(outputs_ids[i])->getValue()["value"].get<int>(), i * 2);
+        std::cout << module.getOutput(outputs_ids[i])->getValue().dump() << std::endl;
     }
+}
 
-    ModuleHTTP module("","localhost",8888);
+TEST(ModuleHTTP, updateLayout_extern){
+    ModuleHTTP module("../../../lib/test/server/server.py","localhost",8888);
 
     auto inputs_types = module.getInputs();
     auto inputs_ids = module.getInputIDs();
     for(int i = 0; i < 5; ++i){
         EXPECT_EQ(inputs_types[i], "INPUT");
         EXPECT_EQ(module.getInput(inputs_ids[i])->getValue()["value"].get<int>(), i);
+        std::cout << module.getInput(inputs_ids[i])->getValue().dump() << std::endl;
     }
 
     auto outputs_types = module.getOutputs();
@@ -72,6 +98,8 @@ TEST(ModuleHTTP, updateLayout_create){
     for(int i = 0; i < 3; ++i){
         EXPECT_EQ(outputs_types[i], "OUTPUT");
         EXPECT_EQ(module.getOutput(outputs_ids[i])->getValue()["value"].get<int>(), i*2);
+        std::cout << module.getOutput(outputs_ids[i])->getValue().dump() << std::endl;
     }
-
+    Client cli("localhost",8888);
+    cli.Get("/stop");
 }