<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.panglossian.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Noctam%2FDWP%2FACS_Test_Harness%2FExisting_System%2FCISSIM%2FPDSIM.odt</id>
	<title>Noctam/DWP/ACS Test Harness/Existing System/CISSIM/PDSIM.odt - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.panglossian.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Noctam%2FDWP%2FACS_Test_Harness%2FExisting_System%2FCISSIM%2FPDSIM.odt"/>
	<link rel="alternate" type="text/html" href="https://wiki.panglossian.net/wiki/index.php?title=Noctam/DWP/ACS_Test_Harness/Existing_System/CISSIM/PDSIM.odt&amp;action=history"/>
	<updated>2026-07-07T19:47:41Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.panglossian.net/wiki/index.php?title=Noctam/DWP/ACS_Test_Harness/Existing_System/CISSIM/PDSIM.odt&amp;diff=373&amp;oldid=prev</id>
		<title>Stuart: Stuart moved page Noctam/DWP/ACS Test Harness/Existing System/CISSIM/PDISM.odt to Noctam/DWP/ACS Test Harness/Existing System/CISSIM/PDSIM.odt: Typo in name</title>
		<link rel="alternate" type="text/html" href="https://wiki.panglossian.net/wiki/index.php?title=Noctam/DWP/ACS_Test_Harness/Existing_System/CISSIM/PDSIM.odt&amp;diff=373&amp;oldid=prev"/>
		<updated>2021-10-07T16:28:36Z</updated>

		<summary type="html">&lt;p&gt;Stuart moved page &lt;a href=&quot;/w/Noctam/DWP/ACS_Test_Harness/Existing_System/CISSIM/PDISM.odt&quot; class=&quot;mw-redirect&quot; title=&quot;Noctam/DWP/ACS Test Harness/Existing System/CISSIM/PDISM.odt&quot;&gt;Noctam/DWP/ACS Test Harness/Existing System/CISSIM/PDISM.odt&lt;/a&gt; to &lt;a href=&quot;/w/Noctam/DWP/ACS_Test_Harness/Existing_System/CISSIM/PDSIM.odt&quot; title=&quot;Noctam/DWP/ACS Test Harness/Existing System/CISSIM/PDSIM.odt&quot;&gt;Noctam/DWP/ACS Test Harness/Existing System/CISSIM/PDSIM.odt&lt;/a&gt;: Typo in name&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:28, 7 October 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Stuart</name></author>
	</entry>
	<entry>
		<id>https://wiki.panglossian.net/wiki/index.php?title=Noctam/DWP/ACS_Test_Harness/Existing_System/CISSIM/PDSIM.odt&amp;diff=362&amp;oldid=prev</id>
		<title>Stuart: Copy of PDSim.odt from Mark&#039;s user docs</title>
		<link rel="alternate" type="text/html" href="https://wiki.panglossian.net/wiki/index.php?title=Noctam/DWP/ACS_Test_Harness/Existing_System/CISSIM/PDSIM.odt&amp;diff=362&amp;oldid=prev"/>
		<updated>2021-10-07T08:26:29Z</updated>

		<summary type="html">&lt;p&gt;Copy of PDSim.odt from Mark&amp;#039;s user docs&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;noinclude&amp;gt;{{nav/ACS Test Harness}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
== PDSim ==&lt;br /&gt;
&lt;br /&gt;
PDSim is a set of Python modules that allows:&lt;br /&gt;
&lt;br /&gt;
* PD and DCI transaction capture and amendment:&lt;br /&gt;
** Capture of PD and DCI calls&lt;br /&gt;
** Viewing and editing of captured calls, both the request and the response&lt;br /&gt;
** Resending of captured calls to CIS&lt;br /&gt;
** Direct sending of entered data to CIS&lt;br /&gt;
** Generation of PD and DCI calls from parameter data&lt;br /&gt;
** Automatic sending of a set of PD and DCI calls sequentially&lt;br /&gt;
* Simulation of the CIS interface:&lt;br /&gt;
** Serving of previously captured PD and DCI calls, as a web server that acts like CIS&lt;br /&gt;
* Simulation of the ACS interface:&lt;br /&gt;
** Serving of previously captured PD and DCI calls, as a web server that acts like ACS&lt;br /&gt;
* Proxying of the CIS interface:&lt;br /&gt;
** Serving of a CIS interface that sends calls on to CIS, so that requests and responses can be captured automatically&lt;br /&gt;
&lt;br /&gt;
All PD read and update transactions are supported, along with DCI reads. Data is saved immediately before sending to CIS, and on reply from CIS (so post ACS).&lt;br /&gt;
&lt;br /&gt;
The following top level modules are available:&lt;br /&gt;
* Transaction utilities:&lt;br /&gt;
** pdutils – this allows dump, save and conversion of PD and DCI call data&lt;br /&gt;
** pdedit – this allows editing of PD and DCI call data via a character user interface, based on the Cobol layouts for the calls&lt;br /&gt;
** pdcall – this allows PD and DCI calls to be made to a CIS swimlane, optionally editing the request and/or reponse&lt;br /&gt;
* Dialogs:&lt;br /&gt;
** pdreadone – this runs a single read call for a PD transaction, based on a set of metadata such as NINO, application, system date and swimlane&lt;br /&gt;
** pdupdone – this runs a single update call for a PD transaction&lt;br /&gt;
** pdreadoneedit – this runs pdreadone but allows editing of the data before send and after return&lt;br /&gt;
** pdreadall – this runs pdreadone for all PD transactions for all PD dialogs&lt;br /&gt;
* Capture utilities:&lt;br /&gt;
** extractodis – this extracts a set of PD transactions from an ODIS log, optionally for a PID and a time range&lt;br /&gt;
** pddb – this generates a database of metadata from a set of captured PD and DCI transactions&lt;br /&gt;
* Simulators:&lt;br /&gt;
** pdserve – this serves captured PD and DCI calls as CIS would (multiple pdserve&amp;#039;s can be run to simulate multiple swimlanes – the PD utils and dialogs above can also be run against pdserve)&lt;br /&gt;
** acsserve – this serves captured PD and DCI calls as ACS would (multiple acsserve&amp;#039;s can be run)&lt;br /&gt;
** pdproxy – this serves a CIS-like interface and forwards requests on to CIS&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* pdserve supports SSL, just need to add serve cert as trusted to cacerts on ACS machine (it currently runs as localhost)&lt;br /&gt;
* pdproxy supports SSL, so ACS can be pointed to it without changing config&lt;br /&gt;
* Can now make calls via curl, pycurl or socket&lt;br /&gt;
&lt;br /&gt;
To create DB of calls:&lt;br /&gt;
* run extractodis.py (example in process.sh) against ODIS log to create:&lt;br /&gt;
** log.out (intermediate file)&lt;br /&gt;
** log.write.sh – run this to create ASCII ACS transactions (into a folder)&lt;br /&gt;
** log.conv.sh – run this to convert the ASCII ACS transactions into EBCDIC CIS transactions (into a folder)&lt;br /&gt;
** log.db.sh -  run this to create a database (lookup file) of the EBCDIC CIS transactions (to stdout)&lt;br /&gt;
* run createodistest.py (example in check.sh) to create:&lt;br /&gt;
** a folder containing ODIS calls (ASCII ACS transactions with ODIS/ACS headers&lt;br /&gt;
* curls.sh – run this to run all the ASCII ACS transactions against ACS and save the replies&lt;br /&gt;
* checkodistest.py – run this to check the replies from the ASCII ACS transactions against the original ASCII replies&lt;br /&gt;
&lt;br /&gt;
To serve CIS calls:&lt;br /&gt;
* run pdserve.py with a configfile containing details of lookup files and transaction folders&lt;br /&gt;
&lt;br /&gt;
To proxy CIS:&lt;br /&gt;
* run pdproxy.py with a configfile containing metadata and an output folder&lt;br /&gt;
&lt;br /&gt;
Utilities:&lt;br /&gt;
* run sslutils.py from the command line to be offered test SSL transactions to call (via pycurl or socket, both real and simulated)&lt;/div&gt;</summary>
		<author><name>Stuart</name></author>
	</entry>
</feed>