<?php
require __DIR__.'/oracle.php';$check($lane==='C','C fixture only');$own=json_decode(file_get_contents(__DIR__.'/private-fixture-insert.json'),true);$check($own['inserted']===1,'One own fixture required');$check($actor===$actorNow(),'Actor unchanged');$row=$own['row'];$scope=['date'=>'2001-01-01'];$save('private-fixture-scope.json',$scope);
$spec=[['label'=>'own_list','method'=>'lists','params'=>['date_start'=>$scope['date'],'date_end'=>$scope['date'],'page_size'=>2,'page'=>1]],['label'=>'own_detail','method'=>'detail','params'=>['id'=>$own['id']]]];$original=json_decode(file_get_contents(__DIR__.'/private-spec.json'),true);$save('private-spec.json',array_merge($original,$spec));
$base=json_decode(file_get_contents(__DIR__.'/private-suite.json'),true);$headers=$base['item'][0]['item'][0]['request']['header'];$items=[];foreach($spec as $s){$head=$headers;foreach($head as &$h)if($h['key']==='X-CDX-Case')$h['value']=$s['label'];unset($h);$expected=$projection($row);$items[]=['id'=>$s['label'],'name'=>$s['label'],'type'=>'http','metaInfo'=>['type'=>'HTTP'],'request'=>['method'=>'POST','header'=>$head,'url'=>'http://127.0.0.1:18322/p/agentConversationLog/'.$s['method'],'body'=>['mode'=>'urlencoded','urlencoded'=>array_map(static function($k,$v){return ['key'=>$k,'value'=>(string)$v,'type'=>'text'];},array_keys($s['params']),array_values($s['params']))]],'event'=>[['listen'=>'test','script'=>['type'=>'text/javascript','exec'=>["pm.test('HTTP200',()=>pm.response.to.have.status(200));","const b=pm.response.json();","pm.test('business code0',()=>pm.expect(b.code).to.eql(0));","pm.test('all8 native original values and types',()=>pm.expect(".($s['method']==='detail'?'b.data':'b.data.data[0]').").to.deep.eql(".json_encode($expected,JSON_UNESCAPED_UNICODE)."));","pm.test('legacy seconds datetime contract',()=>pm.expect(".($s['method']==='detail'?'b.data.create_time':'b.data.data[0].create_time').").to.match(/^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$/));",$s['method']==='lists'?"pm.test('own list count and pagination',()=>{pm.expect(b.data.total).to.eql(1);pm.expect(b.data.page).to.eql(1);pm.expect(b.data.page_size).to.eql(2);pm.expect(b.data.data).to.have.lengthOf(1);});":"pm.test('own detail PK',()=>pm.expect(b.data.id).to.eql(".(int)$own['id']."));"]]]]];}
$save('private-fixture-suite.json',['apifoxCli'=>'2.2.8','info'=>['name'=>'AgentConversationLog C own fixture'],'item'=>[['name'=>'Own marked fixture','item'=>$items]]]);echo json_encode(['lane'=>'C','cases'=>2,'id'=>$own['id'],'source_native_time_suffix'=>substr((string)$row['create_time'],19),'preserved_original_requests'=>4]),"\n";
