@echo off
echo %* > log.txt

@echo off
setlocal enableDelayedExpansion

set "options=/ipadress:"127.0.0.1" /port:"8080" /expectedresult:"Success" "

for %%O in (%options%) do for /f "tokens=1,* delims=:" %%A in ("%%O") do set "%%A=%%~B"
:loop
if not "%~3"=="" (
  set "test=!options:*%~3:=! "
  if "!test!"=="!options! " (
      echo Error: Invalid option %~3
  ) else if "!test:~0,1!"==" " (
      set "%~3=1"
  ) else (
      setlocal disableDelayedExpansion
      set "val=%~4"
      call :escapeVal
      setlocal enableDelayedExpansion
      for /f delims^=^ eol^= %%A in ("!val!") do endlocal&endlocal&set "%~3=%%A" !
      shift /3
  )
  shift /3
  goto :loop
)
goto :endArgs
:escapeVal
set "val=%val:^=^^%"
set "val=%val:!=^!%"
exit /b
:endArgs

set - >> log.txt

:: To get the value of a single parameter, just remember to include the `-`
echo The value of /ipadress is: !/ipadress!  >>log.txt
echo The value of /port is: !/port!  >>log.txt
echo The value of /expectedresult is: !/expectedresult!  >>log.txt

:Top


curl http://!/ipadress!:!/port!/xqual/api?command=getInfo >curlresult.txt
set curlError=%errorlevel%
echo. >>log.txt
echo Curl returned error  %curlError% >>log.txt
type curlresult.txt >>log.txt

:: assertion if string is found the server asnwers something good to te request
findstr /C:"application_title" /i curlresult.txt
set findstrError=%errorlevel%
echo. >>log.txt
echo findstr returned error  %findstrError% >>log.txt
del curlresult.txt

if %findstrError% == 0 if %curlError% == 0 goto success

:failed
Echo [Failure] Didn't get answer back >> log.txt
If "!/expectedresult!" == "Failure" echo [Success] we expected a "!/expectedresult!" >>log.txt
If "!/expectedresult!" == "Success" echo [Failure] we expected a "!/expectedresult!" >>log.txt
If "!/expectedresult!" == "Success" Exit 1 >>log.txt
Exit 0
Goto end

:success
Echo [Success] Server answered >> log.txt
If "!/expectedresult!" == "Failure" echo [Failure] we expected a "!/expectedresult!" >>log.txt
If "!/expectedresult!" == "Success" echo [Success] we expected a "!/expectedresult!" >>log.txt
If "!/expectedresult!" == "Failure" Exit 1 >>log.txt
echo. >>log.txt
echo Exit 0 >>log.txt
Exit 0


:end


