\subsection{Test Suite Overview}
-This subsection gives a comprehensive overview of all tests.
+This subsection gives a comprehensive overview of all system functionality tests.
\begin{tabularx}{\textwidth}{|l|l|X|}
\hline
{\bf Executable} & {\bf Status} & {\bf Use} \\
\hline
-{\tt lb-test-logger-local.sh} & Implemented & Test job logging facilities on a local machine (processes running, ports listening, etc.). \\
+{\tt lb-test-job-registration.sh} & Implemented & Tries to register a job and checks if the registration worked. \\
\hline
-{\tt lb-test-logger-remote.sh} & Implemented & Test the local logger remotely (open ports). \\
+{\tt lb-test-normal-event-delivery-remote.sh} & Implemented & Tries to register a job and log events. Checks if the registration worked and events resulted in state change accordingly. \\
\hline
-{\tt lb-test-server-local.sh} & Implemented & Test for LB server running on a local machine (processes running, ports listening, etc.). \\
+{\tt lb-test-logevent.sh} & Proposed & Test if local logger accepts events correctly (i.e. returns 0). \\
\hline
-{\tt lb-test-server-remote.sh} & Implemented & Test the LB server remotely (open ports). \\
+{\tt lb-l2ILR.sh} & Proposed & Tests if iterlogger recovers correctly and processes events logged inbetween when restarted. \\
\hline
-{\tt lb-test-job-registration.sh} & Implemented & Tries to register a job and checks if the registration worked. \\
+{\tt lb-test-job-states.sh} & Proposed & Test that job state queries return correctly and that testing jobs are in expected states. \\
\hline
-{\tt lb-test-normal-event-delivery-remote.sh} & Implemented & Tries to register a job and log events. Checks if the registration worked and events resulted in state change accordingly. \\
+{\tt lb-test-proxy-delivery.sh} & Proposed & Test correct event delivery through LB proxy. \\
+\hline
+{\tt lb-test-ws.sh} & Proposed & Query events and job states throught the WebService interface. \\
+\hline
+{\tt lb-test-notif.sh} & Proposed & Test if notifications are delivered correctly for testing jobs. \\
+\hline
+{\tt lb-test-notif-additional.sh} & Proposed & Test notification delivery with additional options. \\
+\hline
+{\tt lb-test-notif-switch.sh} & Proposed & Test the correct behavior of a notification once its target jobid changes. \\
+\hline
+{\tt lb-test-notif-recovery.sh} & Proposed & Test if notification client receives notifications correctly upon restart. \\
+\hline
+{\tt lb-test-purge.sh} & Proposed & Test that LB server purge works correctly. \\
\hline
\end{tabularx}
\what\ Check state of the jobs with \code{edg\_wll\_JobStatus}. Check all possible job states
(if necessary, log relevant events). Query both server and/or proxy.
+\how\ \ctblb{lb-test-job-states.sh}
+
\result\ The API call should return 0, the jobs should be in the expected
states. Thorough tests may also cross check the values supplied in the
events (e.g. destination computing element) wrt. the values reported in the job states.
% - check the timeouts. - ??tam byly nejaky timeouty???
-\how \\
+\how\ \ctblb{lb-test-proxy-delivery.sh}
+
\TODO{mozna to ma prijit do nejakeho testsuitu, netusim}
{\tt glite-lb-running.sh -x -m LB\_HOST:PORT} \\
- logs sequence of events and returns JOBID \\
\TODO{fila: ws example + html example}
\req\ \path{glite-lb-bkserverd} running, events from \ref{normal} logged
-\how\ retrieve both events and job states with the \LB\ WS interface
+\what\ retrieve both events and job states with the \LB\ WS interface
(operations \code{JobStatus}, \code{QueryEvents}).
+\how\ \ctblb{lb-test-ws.sh}
+
\result\ the returened data should match those returned by the legacy
API calls.
\item One by one send events triggering job state change.
\end{enumerate}
+\how\ \ctblb{lb-test-notif.sh}
+
\result\ All the events should trigger notification reported by the running
notification client.
\label{notif-complex}
\req\ All \LB\ services running
-\how\ Like~\ref{notif1} but include additional criteria,
+\what\ Like~\ref{notif1} but include additional criteria,
e.g. job is scheduled for a~specific destination.
+\how\ \ctblb{lb-test-notif-additional.sh}
+
\result\ Only notifications matching the criteria should be delivered.
% rozsireni dotazu o dalsi job
\item Send events for the new job.
\end{enumerate}
+\how\ \ctblb{lb-test-notif-switch.sh}
+
\result\ Notifications should be received by the client.
\begin{hints}
\req\ All \LB\ services running
-\how\
+\what\
\begin{enumerate}
\item Register another job.
\item Register a~notification as in~\ref{notif1} but terminate the client
\code{edg\_wll\_NotifReceive} repeatedly.
\end{enumerate}
+\how\ \ctblb{lb-test-notif-recovery.sh}
+
\result\ Delayed notifications should be received by the client almost
immediately.
\req\ All \LB services running, preferably a~dedicated server for this test.
-\how
+\what
\begin{enumerate}
\item Purge all data on the server with \path{glite-lb-purge}
\item Log two sets of jobs, separated with delay of at least 60s so
\item \label{purge3} Run purge once more.
\end{enumerate}
+\how\ \ctblb{lb-test-purge.sh}
+
\result\ The data dumped in steps \ref{purge1}, \ref{purge2} should be the
same as retrieved in~\ref{purgel}. The final purge invocation should
do nothing (i.e. nothing was left in the database).