teste storno eFactura: e2e runda 2-5, diagnostic ANAF 1814 (E1-E4: validare /prod/ inainte de upload /test/), Raspunsuri (nimic) (test6-8)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WsxyCHJYL6W9MZ6FPnH8ax
This commit is contained in:
@@ -32,12 +32,28 @@ DEFINE CLASS MockAnafServerStorno AS Custom
|
|||||||
LOCAL loReturn
|
LOCAL loReturn
|
||||||
This.RegMock('TrimiteFacturaXML', tcFile, TRANSFORM(tlB2C))
|
This.RegMock('TrimiteFacturaXML', tcFile, TRANSFORM(tlB2C))
|
||||||
loReturn = CREATEOBJECT('Empty')
|
loReturn = CREATEOBJECT('Empty')
|
||||||
ADDPROPERTY(loReturn, 'lSucces', .T.)
|
|
||||||
ADDPROPERTY(loReturn, 'cIdIncarcare', 'MOCK-ID-STORNO-12345')
|
|
||||||
ADDPROPERTY(loReturn, 'cMesaj', '')
|
|
||||||
ADDPROPERTY(loReturn, 'cResponse', '<mock ok/>')
|
|
||||||
ADDPROPERTY(loReturn, 'nStatus', 200)
|
|
||||||
ADDPROPERTY(loReturn, 'cFile', TRANSFORM(tcFile))
|
ADDPROPERTY(loReturn, 'cFile', TRANSFORM(tcFile))
|
||||||
|
* gnMockTrimiteMod (test_storno_e2e.prg): 0=succes, 1=ANAF a raspuns clar cu eroare (HTTP 200), 2=eroare de retea (HTTP 0)
|
||||||
|
DO CASE
|
||||||
|
CASE TYPE('gnMockTrimiteMod') = 'N' AND gnMockTrimiteMod = 1
|
||||||
|
ADDPROPERTY(loReturn, 'lSucces', .T.)
|
||||||
|
ADDPROPERTY(loReturn, 'cIdIncarcare', '')
|
||||||
|
ADDPROPERTY(loReturn, 'cMesaj', 'TEST ANAF a respins incarcarea: A aparut o eroare tehnica. Cod: 1814')
|
||||||
|
ADDPROPERTY(loReturn, 'cResponse', '<mock err1814/>')
|
||||||
|
ADDPROPERTY(loReturn, 'nStatus', 200)
|
||||||
|
CASE TYPE('gnMockTrimiteMod') = 'N' AND gnMockTrimiteMod = 2
|
||||||
|
ADDPROPERTY(loReturn, 'lSucces', .F.)
|
||||||
|
ADDPROPERTY(loReturn, 'cIdIncarcare', '')
|
||||||
|
ADDPROPERTY(loReturn, 'cMesaj', 'Eroare de comunicare cu ANAF - Http Status: 0. Raspuns: ')
|
||||||
|
ADDPROPERTY(loReturn, 'cResponse', '')
|
||||||
|
ADDPROPERTY(loReturn, 'nStatus', 0)
|
||||||
|
OTHERWISE
|
||||||
|
ADDPROPERTY(loReturn, 'lSucces', .T.)
|
||||||
|
ADDPROPERTY(loReturn, 'cIdIncarcare', 'MOCK-ID-STORNO-12345')
|
||||||
|
ADDPROPERTY(loReturn, 'cMesaj', '')
|
||||||
|
ADDPROPERTY(loReturn, 'cResponse', '<mock ok/>')
|
||||||
|
ADDPROPERTY(loReturn, 'nStatus', 200)
|
||||||
|
ENDCASE
|
||||||
RETURN loReturn
|
RETURN loReturn
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|||||||
124
utile/Teste/storno/test5_1814_e1.prg
Normal file
124
utile/Teste/storno/test5_1814_e1.prg
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
* test5_1814_e1.prg
|
||||||
|
* E1 (docs\storno_eroare_1814_diagnostic.md): retrimite pe ANAF TEST EXACT fisierul storno SSS 1156-S
|
||||||
|
* care a primit "Cod: 1814" la Marius (19.09.2026 17:45), fara regenerare. Scop: 1814 e determinist?
|
||||||
|
* Un singur upload. Garzi: sha1 fisier, lTest, token, CIF - inainte de TrimiteFacturaXML.
|
||||||
|
*
|
||||||
|
* Rulare: powershell -ExecutionPolicy Bypass -File D:\ROA\ROACONT\COMUN\utile\Teste\watchdog_vfp.ps1 -Script D:\ROA\ROACONT\COMUN\utile\Teste\storno\test5_1814_e1.prg -AutoDismiss -TimeoutSec 240
|
||||||
|
* Iesire: test5_1814_e1_log.txt (+ test5_1814_e1_golog.txt cu liniile SendEFactura), acelasi folder
|
||||||
|
|
||||||
|
SET SAFETY OFF
|
||||||
|
SET TALK OFF
|
||||||
|
SET DELETED ON
|
||||||
|
SET EXACT ON
|
||||||
|
SET CENTURY ON
|
||||||
|
SET DATE DMY
|
||||||
|
SET NULLDISPLAY TO ''
|
||||||
|
CLOSE DATABASES
|
||||||
|
|
||||||
|
PUBLIC gcUILog, gcDir
|
||||||
|
gcDir = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\"
|
||||||
|
gcUILog = gcDir + "test5_1814_e1_log.txt"
|
||||||
|
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
|
||||||
|
|
||||||
|
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
||||||
|
ON SHUTDOWN QUIT
|
||||||
|
|
||||||
|
TRY
|
||||||
|
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
|
||||||
|
IF gnHandle <= 0
|
||||||
|
DO PrLogLocal WITH 'FAIL: conectare Oracle esuata (gnHandle=' + TRANSFORM(gnHandle) + ')'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
DO PrLogLocal WITH 'mediu initializat, gnHandle=' + TRANSFORM(gnHandle)
|
||||||
|
|
||||||
|
* SendEFactura scrie URL-ul si raspunsul prin goLog; Log_Mesaje nu scrie daca fisierul lipseste
|
||||||
|
goLog.cLogFile = gcDir + "test5_1814_e1_golog.txt"
|
||||||
|
STRTOFILE('', goLog.cLogFile)
|
||||||
|
|
||||||
|
LOCAL lcFile, lcSha1Asteptat, lcSha1
|
||||||
|
lcFile = "D:\ROA\Efactura\2026_09\MARIUSM_AUTO_SUC_1_TEXT_LUNG_IN_DENUMIERA_FIRMEI_SRL\TRIMISE\storno_SSS 1156-S_1879855.xml"
|
||||||
|
lcSha1Asteptat = 'e14d55f8fa7824529f0f03ff1724c5c3dedb1867'
|
||||||
|
|
||||||
|
IF !FILE(lcFile)
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: nu exista fisierul: ' + lcFile
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
lcSha1 = Sha1Fisier(lcFile)
|
||||||
|
DO PrLogLocal WITH 'fisier=' + lcFile + ' len=' + TRANSFORM(LEN(FILETOSTR(lcFile))) + ' sha1=' + lcSha1
|
||||||
|
IF !(lcSha1 == lcSha1Asteptat)
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: sha1 diferit de ' + lcSha1Asteptat + ' - fisierul a fost regenerat, opresc'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
LOCAL loAnaf As 'AnafeFacturaServer'
|
||||||
|
loAnaf = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
|
||||||
|
loAnaf.lTest = .T.
|
||||||
|
loAnaf.RefreshTokenAuto()
|
||||||
|
DO PrLogLocal WITH 'CIF=' + loAnaf.cCodFiscal + ' lTest=' + TRANSFORM(loAnaf.lTest) + ' tokenExp=' + DTOC(loAnaf.dTokenExpdate) + ' tokenGol=' + TRANSFORM(EMPTY(loAnaf.cToken))
|
||||||
|
|
||||||
|
* garzi finale, imediat inainte de upload
|
||||||
|
IF VARTYPE(loAnaf.lTest) <> 'L' OR !loAnaf.lTest
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: lTest nu e .T.'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
IF EMPTY(loAnaf.cToken) OR loAnaf.dTokenExpdate <= DATE()
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: token gol sau expirat'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
IF !(ALLTRIM(loAnaf.cCodFiscal) == '1879855')
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: CIF neasteptat: ' + loAnaf.cCodFiscal
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
IF !FILE(lcFile) OR !(Sha1Fisier(lcFile) == lcSha1Asteptat)
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: fisierul lipseste sau s-a schimbat chiar inainte de upload'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
DO PrLogLocal WITH '=== UPLOAD 1/1: storno SSS 1156-S byte-identic pe TEST ==='
|
||||||
|
LOCAL loRet
|
||||||
|
loRet = loAnaf.TrimiteFacturaXML(lcFile, .F., .F., .F., .F., .F.)
|
||||||
|
DO PrLogLocal WITH 'upload: lSucces=' + TRANSFORM(loRet.lSucces) + ' status=' + TRANSFORM(loRet.nStatus) + ' idIncarcare=' + ALLTRIM(NVL(loRet.cIdIncarcare,'')) + ' mesaj=[' + ALLTRIM(NVL(loRet.cMesaj,'')) + ']'
|
||||||
|
DO PrLogLocal WITH 'raspuns brut: ' + NVL(loRet.cResponse,'')
|
||||||
|
DO PrLogLocal WITH 'TOTAL: test terminat fara exceptie'
|
||||||
|
CATCH TO loEx
|
||||||
|
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
QUIT
|
||||||
|
|
||||||
|
**********************************************************
|
||||||
|
* sha1 prin certutil (sincron, fereastra ascunsa)
|
||||||
|
FUNCTION Sha1Fisier
|
||||||
|
LPARAMETERS tcFile
|
||||||
|
LOCAL loSh, lcOut, lcTxt, lcHash, lnI
|
||||||
|
lcOut = ADDBS(SYS(2023)) + 'test5_sha1_' + SYS(2015) + '.txt'
|
||||||
|
loSh = CREATEOBJECT('WScript.Shell')
|
||||||
|
loSh.Run('cmd /c certutil -hashfile "' + tcFile + '" SHA1 > "' + lcOut + '"', 0, .T.)
|
||||||
|
lcHash = ''
|
||||||
|
IF FILE(lcOut)
|
||||||
|
lcTxt = FILETOSTR(lcOut)
|
||||||
|
DELETE FILE (lcOut)
|
||||||
|
FOR lnI = 1 TO GETWORDCOUNT(lcTxt, CHR(13) + CHR(10))
|
||||||
|
IF LEN(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', '')) = 40
|
||||||
|
lcHash = LOWER(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', ''))
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
ENDIF
|
||||||
|
RETURN lcHash
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
**********************************************************
|
||||||
|
PROCEDURE PrLogLocal
|
||||||
|
LPARAMETERS tcMsg
|
||||||
|
LOCAL lcL
|
||||||
|
SET SAFETY OFF
|
||||||
|
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
|
||||||
|
STRTOFILE(lcL + TTOC(DATETIME()) + ' ' + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
**********************************************************
|
||||||
|
PROCEDURE PrErrLocal
|
||||||
|
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
|
||||||
|
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
|
||||||
|
ENDPROC
|
||||||
124
utile/Teste/storno/test5_1814_e2.prg
Normal file
124
utile/Teste/storno/test5_1814_e2.prg
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
* test5_1814_e2.prg
|
||||||
|
* E2 (docs\storno_eroare_1814_diagnostic.md), DOAR daca E1 a primit din nou 1814: storno SSS 1156-S identic
|
||||||
|
* cu fisierul din E1, minus blocul cac:BillingReference (singura diferenta). Acelasi numar, o singura variabila.
|
||||||
|
* Un singur upload. Garzi: sha1 fisier, lTest, token, CIF - inainte de TrimiteFacturaXML.
|
||||||
|
*
|
||||||
|
* Rulare: powershell -ExecutionPolicy Bypass -File D:\ROA\ROACONT\COMUN\utile\Teste\watchdog_vfp.ps1 -Script D:\ROA\ROACONT\COMUN\utile\Teste\storno\test5_1814_e2.prg -AutoDismiss -TimeoutSec 240
|
||||||
|
* Iesire: test5_1814_e2_log.txt (+ test5_1814_e2_golog.txt cu liniile SendEFactura), acelasi folder
|
||||||
|
|
||||||
|
SET SAFETY OFF
|
||||||
|
SET TALK OFF
|
||||||
|
SET DELETED ON
|
||||||
|
SET EXACT ON
|
||||||
|
SET CENTURY ON
|
||||||
|
SET DATE DMY
|
||||||
|
SET NULLDISPLAY TO ''
|
||||||
|
CLOSE DATABASES
|
||||||
|
|
||||||
|
PUBLIC gcUILog, gcDir
|
||||||
|
gcDir = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\"
|
||||||
|
gcUILog = gcDir + "test5_1814_e2_log.txt"
|
||||||
|
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
|
||||||
|
|
||||||
|
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
||||||
|
ON SHUTDOWN QUIT
|
||||||
|
|
||||||
|
TRY
|
||||||
|
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
|
||||||
|
IF gnHandle <= 0
|
||||||
|
DO PrLogLocal WITH 'FAIL: conectare Oracle esuata (gnHandle=' + TRANSFORM(gnHandle) + ')'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
DO PrLogLocal WITH 'mediu initializat, gnHandle=' + TRANSFORM(gnHandle)
|
||||||
|
|
||||||
|
* SendEFactura scrie URL-ul si raspunsul prin goLog; Log_Mesaje nu scrie daca fisierul lipseste
|
||||||
|
goLog.cLogFile = gcDir + "test5_1814_e2_golog.txt"
|
||||||
|
STRTOFILE('', goLog.cLogFile)
|
||||||
|
|
||||||
|
LOCAL lcFile, lcSha1Asteptat, lcSha1
|
||||||
|
lcFile = gcDir + "out\test5_e2_storno_SSS1156-S_fara_billingref.xml"
|
||||||
|
lcSha1Asteptat = 'fb9b05149316c056b61f0cdbe3a2c7612f06812b'
|
||||||
|
|
||||||
|
IF !FILE(lcFile)
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: nu exista fisierul: ' + lcFile
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
lcSha1 = Sha1Fisier(lcFile)
|
||||||
|
DO PrLogLocal WITH 'fisier=' + lcFile + ' len=' + TRANSFORM(LEN(FILETOSTR(lcFile))) + ' sha1=' + lcSha1
|
||||||
|
IF !(lcSha1 == lcSha1Asteptat)
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: sha1 diferit de ' + lcSha1Asteptat + ' - fisierul E2 a fost modificat, opresc'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
LOCAL loAnaf As 'AnafeFacturaServer'
|
||||||
|
loAnaf = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
|
||||||
|
loAnaf.lTest = .T.
|
||||||
|
loAnaf.RefreshTokenAuto()
|
||||||
|
DO PrLogLocal WITH 'CIF=' + loAnaf.cCodFiscal + ' lTest=' + TRANSFORM(loAnaf.lTest) + ' tokenExp=' + DTOC(loAnaf.dTokenExpdate) + ' tokenGol=' + TRANSFORM(EMPTY(loAnaf.cToken))
|
||||||
|
|
||||||
|
* garzi finale, imediat inainte de upload
|
||||||
|
IF VARTYPE(loAnaf.lTest) <> 'L' OR !loAnaf.lTest
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: lTest nu e .T.'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
IF EMPTY(loAnaf.cToken) OR loAnaf.dTokenExpdate <= DATE()
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: token gol sau expirat'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
IF !(ALLTRIM(loAnaf.cCodFiscal) == '1879855')
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: CIF neasteptat: ' + loAnaf.cCodFiscal
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
IF !FILE(lcFile) OR !(Sha1Fisier(lcFile) == lcSha1Asteptat)
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: fisierul lipseste sau s-a schimbat chiar inainte de upload'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
DO PrLogLocal WITH '=== UPLOAD 1/1: storno SSS 1156-S FARA BillingReference pe TEST ==='
|
||||||
|
LOCAL loRet
|
||||||
|
loRet = loAnaf.TrimiteFacturaXML(lcFile, .F., .F., .F., .F., .F.)
|
||||||
|
DO PrLogLocal WITH 'upload: lSucces=' + TRANSFORM(loRet.lSucces) + ' status=' + TRANSFORM(loRet.nStatus) + ' idIncarcare=' + ALLTRIM(NVL(loRet.cIdIncarcare,'')) + ' mesaj=[' + ALLTRIM(NVL(loRet.cMesaj,'')) + ']'
|
||||||
|
DO PrLogLocal WITH 'raspuns brut: ' + NVL(loRet.cResponse,'')
|
||||||
|
DO PrLogLocal WITH 'TOTAL: test terminat fara exceptie'
|
||||||
|
CATCH TO loEx
|
||||||
|
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
QUIT
|
||||||
|
|
||||||
|
**********************************************************
|
||||||
|
* sha1 prin certutil (sincron, fereastra ascunsa)
|
||||||
|
FUNCTION Sha1Fisier
|
||||||
|
LPARAMETERS tcFile
|
||||||
|
LOCAL loSh, lcOut, lcTxt, lcHash, lnI
|
||||||
|
lcOut = ADDBS(SYS(2023)) + 'test5_sha1_' + SYS(2015) + '.txt'
|
||||||
|
loSh = CREATEOBJECT('WScript.Shell')
|
||||||
|
loSh.Run('cmd /c certutil -hashfile "' + tcFile + '" SHA1 > "' + lcOut + '"', 0, .T.)
|
||||||
|
lcHash = ''
|
||||||
|
IF FILE(lcOut)
|
||||||
|
lcTxt = FILETOSTR(lcOut)
|
||||||
|
DELETE FILE (lcOut)
|
||||||
|
FOR lnI = 1 TO GETWORDCOUNT(lcTxt, CHR(13) + CHR(10))
|
||||||
|
IF LEN(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', '')) = 40
|
||||||
|
lcHash = LOWER(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', ''))
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
ENDIF
|
||||||
|
RETURN lcHash
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
**********************************************************
|
||||||
|
PROCEDURE PrLogLocal
|
||||||
|
LPARAMETERS tcMsg
|
||||||
|
LOCAL lcL
|
||||||
|
SET SAFETY OFF
|
||||||
|
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
|
||||||
|
STRTOFILE(lcL + TTOC(DATETIME()) + ' ' + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
**********************************************************
|
||||||
|
PROCEDURE PrErrLocal
|
||||||
|
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
|
||||||
|
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
|
||||||
|
ENDPROC
|
||||||
136
utile/Teste/storno/test5_1814_e3.prg
Normal file
136
utile/Teste/storno/test5_1814_e3.prg
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
* test5_1814_e3.prg
|
||||||
|
* E3 (docs\storno_1814_traseu_ui_vs_script.md): ca E1 + O SINGURA variabila noua: ValidareEFacturaANAF
|
||||||
|
* (/prod/validare, ca Valideaza() din forma) imediat inainte de upload pe TEST. Storno nou SSS 1156-S3.
|
||||||
|
* Un singur upload. Garzi: sha1 fisier, lTest, token, CIF - inainte de TrimiteFacturaXML.
|
||||||
|
*
|
||||||
|
* Rulare: powershell -ExecutionPolicy Bypass -File D:\ROA\ROACONT\COMUN\utile\Teste\watchdog_vfp.ps1 -Script D:\ROA\ROACONT\COMUN\utile\Teste\storno\test5_1814_e3.prg -AutoDismiss -TimeoutSec 240
|
||||||
|
* Iesire: test5_1814_e3_log.txt (+ test5_1814_e3_golog.txt cu liniile SendEFactura), acelasi folder
|
||||||
|
|
||||||
|
SET SAFETY OFF
|
||||||
|
SET TALK OFF
|
||||||
|
SET DELETED ON
|
||||||
|
SET EXACT ON
|
||||||
|
SET CENTURY ON
|
||||||
|
SET DATE DMY
|
||||||
|
SET NULLDISPLAY TO ''
|
||||||
|
CLOSE DATABASES
|
||||||
|
|
||||||
|
PUBLIC gcUILog, gcDir
|
||||||
|
gcDir = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\"
|
||||||
|
gcUILog = gcDir + "test5_1814_e3_log.txt"
|
||||||
|
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
|
||||||
|
|
||||||
|
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
||||||
|
ON SHUTDOWN QUIT
|
||||||
|
|
||||||
|
TRY
|
||||||
|
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
|
||||||
|
IF gnHandle <= 0
|
||||||
|
DO PrLogLocal WITH 'FAIL: conectare Oracle esuata (gnHandle=' + TRANSFORM(gnHandle) + ')'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
DO PrLogLocal WITH 'mediu initializat, gnHandle=' + TRANSFORM(gnHandle)
|
||||||
|
|
||||||
|
* SendEFactura scrie URL-ul si raspunsul prin goLog; Log_Mesaje nu scrie daca fisierul lipseste
|
||||||
|
goLog.cLogFile = gcDir + "test5_1814_e3_golog.txt"
|
||||||
|
STRTOFILE('', goLog.cLogFile)
|
||||||
|
|
||||||
|
LOCAL lcFile, lcSha1Asteptat, lcSha1
|
||||||
|
lcFile = gcDir + "out\storno_SSS 1156-S3_1879855.xml"
|
||||||
|
lcSha1Asteptat = 'c407f69020b8d30f2c298e294f9fd1ad60ee96d4'
|
||||||
|
|
||||||
|
IF !FILE(lcFile)
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: nu exista fisierul: ' + lcFile
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
lcSha1 = Sha1Fisier(lcFile)
|
||||||
|
DO PrLogLocal WITH 'fisier=' + lcFile + ' len=' + TRANSFORM(LEN(FILETOSTR(lcFile))) + ' sha1=' + lcSha1
|
||||||
|
IF !(lcSha1 == lcSha1Asteptat)
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: sha1 diferit de ' + lcSha1Asteptat + ' - fisierul a fost regenerat, opresc'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
LOCAL loAnaf As 'AnafeFacturaServer'
|
||||||
|
loAnaf = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
|
||||||
|
loAnaf.lTest = .T.
|
||||||
|
loAnaf.RefreshTokenAuto()
|
||||||
|
DO PrLogLocal WITH 'CIF=' + loAnaf.cCodFiscal + ' lTest=' + TRANSFORM(loAnaf.lTest) + ' tokenExp=' + DTOC(loAnaf.dTokenExpdate) + ' tokenGol=' + TRANSFORM(EMPTY(loAnaf.cToken))
|
||||||
|
|
||||||
|
* garzi finale, imediat inainte de upload
|
||||||
|
IF VARTYPE(loAnaf.lTest) <> 'L' OR !loAnaf.lTest
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: lTest nu e .T.'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
IF EMPTY(loAnaf.cToken) OR loAnaf.dTokenExpdate <= DATE()
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: token gol sau expirat'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
IF !(ALLTRIM(loAnaf.cCodFiscal) == '1879855')
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: CIF neasteptat: ' + loAnaf.cCodFiscal
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
IF !FILE(lcFile) OR !(Sha1Fisier(lcFile) == lcSha1Asteptat)
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: fisierul lipseste sau s-a schimbat chiar inainte de upload'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF !("XMLEFACTURA" $ UPPER(SET("PROCEDURE")))
|
||||||
|
SET PROCEDURE TO xmlefactura ADDITIVE
|
||||||
|
ENDIF
|
||||||
|
LOCAL loExport, llValid, lcMesajValid
|
||||||
|
lcMesajValid = ""
|
||||||
|
DO PrLogLocal WITH "=== VALIDARE /prod/validare (ca Valideaza din forma) ==="
|
||||||
|
loExport = CREATEOBJECT("ExportEFactura", .T., loAnaf.cToken)
|
||||||
|
llValid = loExport.ValidareEFacturaANAF(lcFile, @lcMesajValid)
|
||||||
|
DO PrLogLocal WITH "validare: llValid=" + TRANSFORM(llValid) + " mesaj=[" + TRANSFORM(lcMesajValid) + "] sha1dupa=" + Sha1Fisier(lcFile)
|
||||||
|
IF !(Sha1Fisier(lcFile) == lcSha1Asteptat)
|
||||||
|
DO PrLogLocal WITH "ATENTIE: validarea a modificat fisierul - continui (asta e traseul UI)"
|
||||||
|
ENDIF
|
||||||
|
DO PrLogLocal WITH '=== UPLOAD 1/1: storno SSS 1156-S3 dupa validare, pe TEST ==='
|
||||||
|
LOCAL loRet
|
||||||
|
loRet = loAnaf.TrimiteFacturaXML(lcFile, .F., .F., .F., .F., .F.)
|
||||||
|
DO PrLogLocal WITH 'upload: lSucces=' + TRANSFORM(loRet.lSucces) + ' status=' + TRANSFORM(loRet.nStatus) + ' idIncarcare=' + ALLTRIM(NVL(loRet.cIdIncarcare,'')) + ' mesaj=[' + ALLTRIM(NVL(loRet.cMesaj,'')) + ']'
|
||||||
|
DO PrLogLocal WITH 'raspuns brut: ' + NVL(loRet.cResponse,'')
|
||||||
|
DO PrLogLocal WITH 'TOTAL: test terminat fara exceptie'
|
||||||
|
CATCH TO loEx
|
||||||
|
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
QUIT
|
||||||
|
|
||||||
|
**********************************************************
|
||||||
|
* sha1 prin certutil (sincron, fereastra ascunsa)
|
||||||
|
FUNCTION Sha1Fisier
|
||||||
|
LPARAMETERS tcFile
|
||||||
|
LOCAL loSh, lcOut, lcTxt, lcHash, lnI
|
||||||
|
lcOut = ADDBS(SYS(2023)) + 'test5_sha1_' + SYS(2015) + '.txt'
|
||||||
|
loSh = CREATEOBJECT('WScript.Shell')
|
||||||
|
loSh.Run('cmd /c certutil -hashfile "' + tcFile + '" SHA1 > "' + lcOut + '"', 0, .T.)
|
||||||
|
lcHash = ''
|
||||||
|
IF FILE(lcOut)
|
||||||
|
lcTxt = FILETOSTR(lcOut)
|
||||||
|
DELETE FILE (lcOut)
|
||||||
|
FOR lnI = 1 TO GETWORDCOUNT(lcTxt, CHR(13) + CHR(10))
|
||||||
|
IF LEN(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', '')) = 40
|
||||||
|
lcHash = LOWER(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', ''))
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
ENDIF
|
||||||
|
RETURN lcHash
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
**********************************************************
|
||||||
|
PROCEDURE PrLogLocal
|
||||||
|
LPARAMETERS tcMsg
|
||||||
|
LOCAL lcL
|
||||||
|
SET SAFETY OFF
|
||||||
|
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
|
||||||
|
STRTOFILE(lcL + TTOC(DATETIME()) + ' ' + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
**********************************************************
|
||||||
|
PROCEDURE PrErrLocal
|
||||||
|
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
|
||||||
|
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
|
||||||
|
ENDPROC
|
||||||
123
utile/Teste/storno/test5_1814_e4.prg
Normal file
123
utile/Teste/storno/test5_1814_e4.prg
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
* test5_1814_e4.prg
|
||||||
|
* E4: acelasi fisier S3 ca E3 (care a primit 1814), FARA validare /prod/validare. Izoleaza validarea.
|
||||||
|
* Un singur upload. Garzi: sha1 fisier, lTest, token, CIF - inainte de TrimiteFacturaXML.
|
||||||
|
*
|
||||||
|
* Rulare: powershell -ExecutionPolicy Bypass -File D:\ROA\ROACONT\COMUN\utile\Teste\watchdog_vfp.ps1 -Script D:\ROA\ROACONT\COMUN\utile\Teste\storno\test5_1814_e4.prg -AutoDismiss -TimeoutSec 240
|
||||||
|
* Iesire: test5_1814_e4_log.txt (+ test5_1814_e4_golog.txt cu liniile SendEFactura), acelasi folder
|
||||||
|
|
||||||
|
SET SAFETY OFF
|
||||||
|
SET TALK OFF
|
||||||
|
SET DELETED ON
|
||||||
|
SET EXACT ON
|
||||||
|
SET CENTURY ON
|
||||||
|
SET DATE DMY
|
||||||
|
SET NULLDISPLAY TO ''
|
||||||
|
CLOSE DATABASES
|
||||||
|
|
||||||
|
PUBLIC gcUILog, gcDir
|
||||||
|
gcDir = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\"
|
||||||
|
gcUILog = gcDir + "test5_1814_e4_log.txt"
|
||||||
|
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
|
||||||
|
|
||||||
|
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
||||||
|
ON SHUTDOWN QUIT
|
||||||
|
|
||||||
|
TRY
|
||||||
|
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
|
||||||
|
IF gnHandle <= 0
|
||||||
|
DO PrLogLocal WITH 'FAIL: conectare Oracle esuata (gnHandle=' + TRANSFORM(gnHandle) + ')'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
DO PrLogLocal WITH 'mediu initializat, gnHandle=' + TRANSFORM(gnHandle)
|
||||||
|
|
||||||
|
* SendEFactura scrie URL-ul si raspunsul prin goLog; Log_Mesaje nu scrie daca fisierul lipseste
|
||||||
|
goLog.cLogFile = gcDir + "test5_1814_e4_golog.txt"
|
||||||
|
STRTOFILE('', goLog.cLogFile)
|
||||||
|
|
||||||
|
LOCAL lcFile, lcSha1Asteptat, lcSha1
|
||||||
|
lcFile = gcDir + "out\storno_SSS 1156-S3_1879855.xml"
|
||||||
|
lcSha1Asteptat = 'c407f69020b8d30f2c298e294f9fd1ad60ee96d4'
|
||||||
|
|
||||||
|
IF !FILE(lcFile)
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: nu exista fisierul: ' + lcFile
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
lcSha1 = Sha1Fisier(lcFile)
|
||||||
|
DO PrLogLocal WITH 'fisier=' + lcFile + ' len=' + TRANSFORM(LEN(FILETOSTR(lcFile))) + ' sha1=' + lcSha1
|
||||||
|
IF !(lcSha1 == lcSha1Asteptat)
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: sha1 diferit de ' + lcSha1Asteptat + ' - fisierul a fost regenerat, opresc'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
LOCAL loAnaf As 'AnafeFacturaServer'
|
||||||
|
loAnaf = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
|
||||||
|
loAnaf.lTest = .T.
|
||||||
|
loAnaf.RefreshTokenAuto()
|
||||||
|
DO PrLogLocal WITH 'CIF=' + loAnaf.cCodFiscal + ' lTest=' + TRANSFORM(loAnaf.lTest) + ' tokenExp=' + DTOC(loAnaf.dTokenExpdate) + ' tokenGol=' + TRANSFORM(EMPTY(loAnaf.cToken))
|
||||||
|
|
||||||
|
* garzi finale, imediat inainte de upload
|
||||||
|
IF VARTYPE(loAnaf.lTest) <> 'L' OR !loAnaf.lTest
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: lTest nu e .T.'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
IF EMPTY(loAnaf.cToken) OR loAnaf.dTokenExpdate <= DATE()
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: token gol sau expirat'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
IF !(ALLTRIM(loAnaf.cCodFiscal) == '1879855')
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: CIF neasteptat: ' + loAnaf.cCodFiscal
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
IF !FILE(lcFile) OR !(Sha1Fisier(lcFile) == lcSha1Asteptat)
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: fisierul lipseste sau s-a schimbat chiar inainte de upload'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
DO PrLogLocal WITH '=== UPLOAD 1/1: storno SSS 1156-S3 FARA validare, pe TEST ==='
|
||||||
|
LOCAL loRet
|
||||||
|
loRet = loAnaf.TrimiteFacturaXML(lcFile, .F., .F., .F., .F., .F.)
|
||||||
|
DO PrLogLocal WITH 'upload: lSucces=' + TRANSFORM(loRet.lSucces) + ' status=' + TRANSFORM(loRet.nStatus) + ' idIncarcare=' + ALLTRIM(NVL(loRet.cIdIncarcare,'')) + ' mesaj=[' + ALLTRIM(NVL(loRet.cMesaj,'')) + ']'
|
||||||
|
DO PrLogLocal WITH 'raspuns brut: ' + NVL(loRet.cResponse,'')
|
||||||
|
DO PrLogLocal WITH 'TOTAL: test terminat fara exceptie'
|
||||||
|
CATCH TO loEx
|
||||||
|
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
QUIT
|
||||||
|
|
||||||
|
**********************************************************
|
||||||
|
* sha1 prin certutil (sincron, fereastra ascunsa)
|
||||||
|
FUNCTION Sha1Fisier
|
||||||
|
LPARAMETERS tcFile
|
||||||
|
LOCAL loSh, lcOut, lcTxt, lcHash, lnI
|
||||||
|
lcOut = ADDBS(SYS(2023)) + 'test5_sha1_' + SYS(2015) + '.txt'
|
||||||
|
loSh = CREATEOBJECT('WScript.Shell')
|
||||||
|
loSh.Run('cmd /c certutil -hashfile "' + tcFile + '" SHA1 > "' + lcOut + '"', 0, .T.)
|
||||||
|
lcHash = ''
|
||||||
|
IF FILE(lcOut)
|
||||||
|
lcTxt = FILETOSTR(lcOut)
|
||||||
|
DELETE FILE (lcOut)
|
||||||
|
FOR lnI = 1 TO GETWORDCOUNT(lcTxt, CHR(13) + CHR(10))
|
||||||
|
IF LEN(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', '')) = 40
|
||||||
|
lcHash = LOWER(CHRTRAN(GETWORDNUM(lcTxt, lnI, CHR(13) + CHR(10)), ' ', ''))
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
ENDIF
|
||||||
|
RETURN lcHash
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
**********************************************************
|
||||||
|
PROCEDURE PrLogLocal
|
||||||
|
LPARAMETERS tcMsg
|
||||||
|
LOCAL lcL
|
||||||
|
SET SAFETY OFF
|
||||||
|
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
|
||||||
|
STRTOFILE(lcL + TTOC(DATETIME()) + ' ' + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
**********************************************************
|
||||||
|
PROCEDURE PrErrLocal
|
||||||
|
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
|
||||||
|
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
|
||||||
|
ENDPROC
|
||||||
29
utile/Teste/storno/test6_raspunsuri_1zi.prg
Normal file
29
utile/Teste/storno/test6_raspunsuri_1zi.prg
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
* test6_raspunsuri_1zi.prg - DOAR CITIRE: listaMesajePaginatieFactura pe ANAF TEST, ultima zi (ca "Raspunsuri > Ultima zi").
|
||||||
|
* Scop: textul exact din "eroare" cand nu sunt mesaje (Marius vede "Nimic"). Fara upload, fara procesare in baza.
|
||||||
|
SET SAFETY OFF
|
||||||
|
SET TALK OFF
|
||||||
|
CLOSE DATABASES
|
||||||
|
PUBLIC gcUILog
|
||||||
|
gcUILog = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\test6_raspunsuri_1zi_log.txt"
|
||||||
|
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
|
||||||
|
ON ERROR STRTOFILE('EROARE ' + TRANSFORM(ERROR()) + ' ' + MESSAGE() + ' ' + PROGRAM() + ' ' + TRANSFORM(LINENO()) + CHR(13) + CHR(10), gcUILog, 1)
|
||||||
|
ON SHUTDOWN QUIT
|
||||||
|
TRY
|
||||||
|
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
|
||||||
|
LOCAL loAnaf, loHTTP, ltEnd, ltStart, lcUrl, lnZile
|
||||||
|
loAnaf = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
|
||||||
|
loAnaf.lTest = .T.
|
||||||
|
loAnaf.RefreshTokenAuto()
|
||||||
|
ltEnd = GetUtcTime(DATETIME()-60)
|
||||||
|
ltStart = ltEnd - 1*24*60*60
|
||||||
|
lcUrl = 'https://api.anaf.ro/test/FCTEL/rest/listaMesajePaginatieFactura?startTime=' + ALLTRIM(STR(Datetime2UnixTime(ltStart))) + '000&endTime=' + ALLTRIM(STR(Datetime2UnixTime(ltEnd))) + '000&cif=' + ALLTRIM(loAnaf.cCodFiscal) + '&pagina=1'
|
||||||
|
STRTOFILE('cUser=[' + TRANSFORM(loAnaf.cUser) + '] url=' + lcUrl + CHR(13) + CHR(10), gcUILog, 1)
|
||||||
|
loHTTP = CREATEOBJECT('winHTTP.winHTTPrequest.5.1')
|
||||||
|
loHTTP.Open('GET', lcUrl, .F.)
|
||||||
|
loHTTP.setRequestHeader('Authorization', 'Bearer ' + loAnaf.cToken)
|
||||||
|
loHTTP.Send()
|
||||||
|
STRTOFILE('status=' + TRANSFORM(loHTTP.Status) + CHR(13) + CHR(10) + loHTTP.ResponseText + CHR(13) + CHR(10), gcUILog, 1)
|
||||||
|
CATCH TO loEx
|
||||||
|
STRTOFILE('EXCEPTIE ' + loEx.Message + CHR(13) + CHR(10), gcUILog, 1)
|
||||||
|
ENDTRY
|
||||||
|
QUIT
|
||||||
63
utile/Teste/storno/test7_raspunsuri_dupa_upload.prg
Normal file
63
utile/Teste/storno/test7_raspunsuri_dupa_upload.prg
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
* test7_raspunsuri_dupa_upload.prg - ANAF TEST (acord Marius 19.09): upload storno SSS 1156-S4, apoi imediat
|
||||||
|
* Raspunsuri "Ultima zi" (efactura_client -> Run(1, .F.)), ca sa prindem mesajul "(nimic)".
|
||||||
|
* AMESSAGEBOX mock: textul exact ajunge in log. goLog redirectat in test7_..._golog.txt.
|
||||||
|
SET SAFETY OFF
|
||||||
|
SET TALK OFF
|
||||||
|
SET DELETED ON
|
||||||
|
SET CENTURY ON
|
||||||
|
SET DATE DMY
|
||||||
|
CLOSE DATABASES
|
||||||
|
PUBLIC gcUILog, gcDir, gnAmsgCalls, gaAmsgCalls[1,2]
|
||||||
|
gnAmsgCalls = 0
|
||||||
|
gcDir = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\"
|
||||||
|
gcUILog = gcDir + "test7_raspunsuri_dupa_upload_log.txt"
|
||||||
|
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
|
||||||
|
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
||||||
|
ON SHUTDOWN QUIT
|
||||||
|
SET PROCEDURE TO (gcDir + 'mock_amessagebox_storno.prg') ADDITIVE
|
||||||
|
TRY
|
||||||
|
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
|
||||||
|
IF gnHandle <= 0
|
||||||
|
DO PrLogLocal WITH 'FAIL: conectare Oracle'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
goLog.cLogFile = gcDir + "test7_raspunsuri_dupa_upload_golog.txt"
|
||||||
|
STRTOFILE('', goLog.cLogFile)
|
||||||
|
|
||||||
|
LOCAL lcFile, loAnaf, loRet, loAnaf2, llSucces
|
||||||
|
lcFile = gcDir + "out\storno_SSS 1156-S4_1879855.xml"
|
||||||
|
loAnaf = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
|
||||||
|
loAnaf.lTest = .T.
|
||||||
|
loAnaf.RefreshTokenAuto()
|
||||||
|
IF !loAnaf.lTest OR EMPTY(loAnaf.cToken) OR !(ALLTRIM(loAnaf.cCodFiscal) == '1879855') OR !FILE(lcFile)
|
||||||
|
DO PrLogLocal WITH 'BLOCAT: garzi (lTest/token/CIF/fisier)'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
DO PrLogLocal WITH '=== UPLOAD 1/1 pe TEST: SSS 1156-S4 ==='
|
||||||
|
loRet = loAnaf.TrimiteFacturaXML(lcFile, .F., .F., .F., .F., .F.)
|
||||||
|
DO PrLogLocal WITH 'upload: status=' + TRANSFORM(loRet.nStatus) + ' idIncarcare=' + ALLTRIM(NVL(loRet.cIdIncarcare,'')) + ' mesaj=[' + ALLTRIM(NVL(loRet.cMesaj,'')) + ']'
|
||||||
|
|
||||||
|
DO PrLogLocal WITH '=== RASPUNSURI ultima zi (efactura_client 1, .F., .T.) ==='
|
||||||
|
loAnaf2 = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
|
||||||
|
loAnaf2.lTest = .T.
|
||||||
|
llSucces = loAnaf2.Run(1, .F.)
|
||||||
|
DO PrLogLocal WITH 'Run: llSucces=' + TRANSFORM(llSucces) + ' lError=' + TRANSFORM(loAnaf2.lError) + ' cErrorMessage=[' + TRANSFORM(loAnaf2.cErrorMessage) + '] cSaveLogsPath=[' + TRANSFORM(loAnaf2.cSaveLogsPath) + '] dirExista=' + TRANSFORM(DIRECTORY(loAnaf2.cSaveLogsPath))
|
||||||
|
DO PrLogLocal WITH 'AMESSAGEBOX apeluri: ' + TRANSFORM(gnAmsgCalls)
|
||||||
|
DO PrLogLocal WITH 'TOTAL: terminat'
|
||||||
|
CATCH TO loEx
|
||||||
|
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
|
||||||
|
ENDTRY
|
||||||
|
QUIT
|
||||||
|
|
||||||
|
PROCEDURE PrLogLocal
|
||||||
|
LPARAMETERS tcMsg
|
||||||
|
LOCAL lcL
|
||||||
|
SET SAFETY OFF
|
||||||
|
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
|
||||||
|
STRTOFILE(lcL + TTOC(DATETIME()) + ' ' + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
PROCEDURE PrErrLocal
|
||||||
|
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
|
||||||
|
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
|
||||||
|
ENDPROC
|
||||||
50
utile/Teste/storno/test8_raspunsuri_fara_nimic.prg
Normal file
50
utile/Teste/storno/test8_raspunsuri_fara_nimic.prg
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
* test8_raspunsuri_fara_nimic.prg - verificare fix SaveFile log json: doar Raspunsuri "Ultima zi" pe TEST (fara upload).
|
||||||
|
* Asteptat: niciun AMESSAGEBOX, Run llSucces=.T.
|
||||||
|
SET SAFETY OFF
|
||||||
|
SET TALK OFF
|
||||||
|
SET DELETED ON
|
||||||
|
SET CENTURY ON
|
||||||
|
SET DATE DMY
|
||||||
|
CLOSE DATABASES
|
||||||
|
PUBLIC gcUILog, gcDir, gnAmsgCalls, gaAmsgCalls[1,2]
|
||||||
|
gnAmsgCalls = 0
|
||||||
|
gcDir = "D:\ROA\ROACONT\COMUN\utile\Teste\storno\"
|
||||||
|
gcUILog = gcDir + "test8_raspunsuri_fara_nimic_log.txt"
|
||||||
|
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
|
||||||
|
ON ERROR DO PrErrLocal WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
||||||
|
ON SHUTDOWN QUIT
|
||||||
|
SET PROCEDURE TO (gcDir + 'mock_amessagebox_storno.prg') ADDITIVE
|
||||||
|
TRY
|
||||||
|
DO "D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
|
||||||
|
IF gnHandle <= 0
|
||||||
|
DO PrLogLocal WITH 'FAIL: conectare Oracle'
|
||||||
|
QUIT
|
||||||
|
ENDIF
|
||||||
|
goLog.cLogFile = gcDir + "test8_raspunsuri_fara_nimic_golog.txt"
|
||||||
|
STRTOFILE('', goLog.cLogFile)
|
||||||
|
|
||||||
|
LOCAL loAnaf2, llSucces
|
||||||
|
DO PrLogLocal WITH '=== RASPUNSURI ultima zi (efactura_client 1, .F., .T.) ==='
|
||||||
|
loAnaf2 = CREATEOBJECT('AnafeFacturaServer', .F., '', gcS, '')
|
||||||
|
loAnaf2.lTest = .T.
|
||||||
|
llSucces = loAnaf2.Run(1, .F.)
|
||||||
|
DO PrLogLocal WITH 'Run: llSucces=' + TRANSFORM(llSucces) + ' lError=' + TRANSFORM(loAnaf2.lError) + ' cErrorMessage=[' + TRANSFORM(loAnaf2.cErrorMessage) + '] cSaveLogsPath=[' + TRANSFORM(loAnaf2.cSaveLogsPath) + '] dirExista=' + TRANSFORM(DIRECTORY(loAnaf2.cSaveLogsPath))
|
||||||
|
DO PrLogLocal WITH 'AMESSAGEBOX apeluri: ' + TRANSFORM(gnAmsgCalls)
|
||||||
|
DO PrLogLocal WITH 'TOTAL: terminat'
|
||||||
|
CATCH TO loEx
|
||||||
|
DO PrLogLocal WITH 'EXCEPTIE: ' + loEx.Message + ' (' + TRANSFORM(loEx.LineNo) + ') ' + loEx.Procedure
|
||||||
|
ENDTRY
|
||||||
|
QUIT
|
||||||
|
|
||||||
|
PROCEDURE PrLogLocal
|
||||||
|
LPARAMETERS tcMsg
|
||||||
|
LOCAL lcL
|
||||||
|
SET SAFETY OFF
|
||||||
|
lcL = IIF(FILE(gcUILog), FILETOSTR(gcUILog), '')
|
||||||
|
STRTOFILE(lcL + TTOC(DATETIME()) + ' ' + TRANSFORM(tcMsg) + CHR(13) + CHR(10), gcUILog)
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
PROCEDURE PrErrLocal
|
||||||
|
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
|
||||||
|
DO PrLogLocal WITH 'EROARE ' + TRANSFORM(tnError) + ' ' + TRANSFORM(tcMessage) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLineNo)
|
||||||
|
ENDPROC
|
||||||
@@ -22,7 +22,7 @@ SET NULLDISPLAY TO ''
|
|||||||
CLOSE DATABASES
|
CLOSE DATABASES
|
||||||
|
|
||||||
PUBLIC gcUILog, gcTestDir, gcTesteDir
|
PUBLIC gcUILog, gcTestDir, gcTesteDir
|
||||||
PUBLIC gnPass, gnFail, gnMockRaspuns, gnAmsgCalls, gnMockApeluri, gnXmenuCalls, gnXmenuQueuePos
|
PUBLIC gnPass, gnFail, gnMockRaspuns, gnAmsgCalls, gnMockApeluri, gnXmenuCalls, gnXmenuQueuePos, gnMockTrimiteMod
|
||||||
PUBLIC loAnaf, loForm, loMockSrv, loStornoForm, lnLastErrorNo, lcLastErrorMsg
|
PUBLIC loAnaf, loForm, loMockSrv, loStornoForm, lnLastErrorNo, lcLastErrorMsg
|
||||||
DECLARE gaAmsgCalls[1,2]
|
DECLARE gaAmsgCalls[1,2]
|
||||||
DECLARE gaMockApeluri[1,3]
|
DECLARE gaMockApeluri[1,3]
|
||||||
@@ -36,6 +36,7 @@ gnMockRaspuns = 6
|
|||||||
gnXmenuCalls = 0
|
gnXmenuCalls = 0
|
||||||
gnXmenuQueuePos = 1
|
gnXmenuQueuePos = 1
|
||||||
gaXmenuQueue[1] = 0
|
gaXmenuQueue[1] = 0
|
||||||
|
gnMockTrimiteMod = 0
|
||||||
lnLastErrorNo = 0
|
lnLastErrorNo = 0
|
||||||
lcLastErrorMsg = ''
|
lcLastErrorMsg = ''
|
||||||
|
|
||||||
@@ -394,6 +395,9 @@ DEFINE CLASS DriverStorno AS Custom
|
|||||||
DO TVerdict WITH lnPadFail = 0, 'fara padding pe original/nou (V(250), sumele nu mai ies din coloana)', 'randuri cu padding=' + TRANSFORM(lnPadFail) + ' ' + lcPadDetail
|
DO TVerdict WITH lnPadFail = 0, 'fara padding pe original/nou (V(250), sumele nu mai ies din coloana)', 'randuri cu padding=' + TRANSFORM(lnPadFail) + ' ' + lcPadDetail
|
||||||
|
|
||||||
DO TVerdict WITH EMPTY(loStorno.txtMotiv.Value), 'txtMotiv fara apostrofuri la init', 'value=[' + TRANSFORM(loStorno.txtMotiv.Value) + ']'
|
DO TVerdict WITH EMPTY(loStorno.txtMotiv.Value), 'txtMotiv fara apostrofuri la init', 'value=[' + TRANSFORM(loStorno.txtMotiv.Value) + ']'
|
||||||
|
* lblAvertisment gol -> ascuns si gridul muta in sus; nu gol -> vizibil pe pozitia initiala (invariant, indiferent de fixtura)
|
||||||
|
DO TVerdict WITH (EMPTY(loStorno.lblAvertisment.Caption) AND !loStorno.lblAvertisment.Visible AND loStorno.grdModificari.Top < 134) OR (!EMPTY(loStorno.lblAvertisment.Caption) AND loStorno.lblAvertisment.Visible AND loStorno.grdModificari.Top = 134), ;
|
||||||
|
'lblAvertisment gol -> ascuns si gridul mutat in sus', 'avertisment=[' + loStorno.lblAvertisment.Caption + '] vizibil=' + TRANSFORM(loStorno.lblAvertisment.Visible) + ' grid_top=' + TRANSFORM(loStorno.grdModificari.Top)
|
||||||
This.nState = 1
|
This.nState = 1
|
||||||
|
|
||||||
CASE This.nState = 1
|
CASE This.nState = 1
|
||||||
@@ -417,7 +421,24 @@ DEFINE CLASS DriverStorno AS Custom
|
|||||||
loStorno.cmdTrimite.Click()
|
loStorno.cmdTrimite.Click()
|
||||||
DO TVerdict WITH UPPER(ALLTRIM(loStorno.lblStare.Caption)) == 'VALID', 'renuntare xmenu -> starea nu se schimba', 'stare=[' + loStorno.lblStare.Caption + ']'
|
DO TVerdict WITH UPPER(ALLTRIM(loStorno.lblStare.Caption)) == 'VALID', 'renuntare xmenu -> starea nu se schimba', 'stare=[' + loStorno.lblStare.Caption + ']'
|
||||||
|
|
||||||
|
* eroare ANAF clara (HTTP 200, Cod 1814) - fara "TEST TEST" dublat, fara "Verificati in Trimise" (raspuns primit)
|
||||||
|
gnMockTrimiteMod = 1
|
||||||
|
gaXmenuQueue[1] = 2
|
||||||
|
gnXmenuQueuePos = 1
|
||||||
|
loStorno.cmdTrimite.Click()
|
||||||
|
DO TVerdict WITH loStorno.pnStare = 0, 'eroare ANAF clara -> starea ramane Nevalidat/eroare, nu Trimis', 'pnStare=' + TRANSFORM(loStorno.pnStare)
|
||||||
|
DO TVerdict WITH !('TEST TEST' $ loStorno.lblStare.Caption), 'fara TEST TEST dublat in mesaj', 'caption=[' + loStorno.lblStare.Caption + ']'
|
||||||
|
DO TVerdict WITH 'Cod: 1814' $ loStorno.lblStare.Caption AND 'TEST ANAF a respins incarcarea' $ loStorno.lblStare.Caption AND !('in Trimise' $ loStorno.lblStare.Caption), 'eroare ANAF clara (200) -> fara indemn Verificati in Trimise', 'caption=[' + loStorno.lblStare.Caption + ']'
|
||||||
|
|
||||||
|
* eroare de retea (HTTP 0, raspuns neclar) - Verificati in Trimise ramane
|
||||||
|
gnMockTrimiteMod = 2
|
||||||
|
gaXmenuQueue[1] = 2
|
||||||
|
gnXmenuQueuePos = 1
|
||||||
|
loStorno.cmdTrimite.Click()
|
||||||
|
DO TVerdict WITH 'in Trimise' $ loStorno.lblStare.Caption, 'eroare de retea (status<>200) -> pastreaza indemnul Verificati in Trimise', 'caption=[' + loStorno.lblStare.Caption + ']'
|
||||||
|
|
||||||
* optiunea 2 (trimite fara validare, cf. instructiuni: fara Valideaza/retea reala)
|
* optiunea 2 (trimite fara validare, cf. instructiuni: fara Valideaza/retea reala)
|
||||||
|
gnMockTrimiteMod = 0
|
||||||
gaXmenuQueue[1] = 2
|
gaXmenuQueue[1] = 2
|
||||||
gnXmenuQueuePos = 1
|
gnXmenuQueuePos = 1
|
||||||
loStorno.cmdTrimite.Click()
|
loStorno.cmdTrimite.Click()
|
||||||
|
|||||||
Reference in New Issue
Block a user