@@ -53,7 +53,10 @@ DECLARE
5353 @RunTest10 CHAR (1 ) = ' Y' ,
5454 @RunTest11 CHAR (1 ) = ' Y' ,
5555 @RunTest12 CHAR (1 ) = ' Y' ,
56- @RunTest13 CHAR (1 ) = ' Y'
56+ @RunTest13 CHAR (1 ) = ' Y' ,
57+ @RunTest14 CHAR (1 ) = ' Y' ,
58+ @RunTest15 CHAR (1 ) = ' Y' ,
59+ @RunTest16 CHAR (1 ) = ' Y'
5760
5861
5962
@@ -120,7 +123,7 @@ BEGIN
120123 INSERT INTO @ResultTable VALUES (@CurrentTestName, @CurrentTestDescription, @DefaultRunStatus)
121124
122125 EXEC [omd].[RunModule]
123- @ModuleCode = ' MyNewModule'
126+ @ModuleCode = ' MyNewModule'
124127 ,@Debug = @Debug
125128
126129 SELECT @CurrentModuleInstanceId = MAX (MODULE_INSTANCE_ID) FROM omd .MODULE_INSTANCE
@@ -755,6 +758,145 @@ BEGIN
755758 END CATCH
756759END
757760
761+ /* ******************************************************************************
762+ 14 Attempting to run a disabled Module stand-alone
763+ *******************************************************************************/
764+ IF @RunTest14 = ' Y'
765+ BEGIN
766+ SET @CurrentTestName = ' TEST 14'
767+ SET @CurrentTestDescription = ' Attempting to run a disabled Module stand-alone'
768+
769+ PRINT CHAR (10 ) + @CurrentTestName + ' - ' + @CurrentTestDescription
770+ INSERT INTO @ResultTable VALUES (@CurrentTestName, @CurrentTestDescription, @DefaultRunStatus)
771+
772+ BEGIN TRY
773+
774+ UPDATE omd .MODULE SET ACTIVE_INDICATOR = ' N' WHERE MODULE_CODE= ' MyNewModule'
775+
776+ EXEC [omd].[RunModule]
777+ @ModuleCode = ' MyNewModule'
778+ ,@Debug = @Debug
779+
780+ SELECT @CurrentModuleInstanceId = MAX (MODULE_INSTANCE_ID) FROM omd .MODULE_INSTANCE
781+ SELECT @CurrentModuleExecutionStatus = EXECUTION_STATUS_CODE FROM omd .MODULE_INSTANCE WHERE MODULE_INSTANCE_ID= @CurrentModuleInstanceId;
782+
783+ IF @Verbose = ' Y'
784+ BEGIN
785+ PRINT ' The Current Module Instance is ' + CONVERT (VARCHAR (10 ),@CurrentModuleInstanceId)+ ' with status '' '+ @CurrentModuleExecutionStatus + ' '' .'
786+ END
787+
788+ IF @CurrentModuleExecutionStatus = ' Cancelled'
789+ BEGIN
790+ PRINT ' ' + @CurrentTestName + ' - succeeded'
791+ UPDATE @ResultTable SET Result = ' Success' WHERE Test = @CurrentTestName
792+ END
793+ ELSE
794+ BEGIN
795+ PRINT ' ' + @CurrentTestName + ' - failed'
796+ UPDATE @ResultTable SET Result = ' Failure' WHERE Test = @CurrentTestName
797+ END
798+
799+ UPDATE omd .MODULE SET ACTIVE_INDICATOR = ' Y' WHERE MODULE_CODE= ' MyNewModule'
800+ END TRY
801+ BEGIN CATCH
802+ PRINT ' ' + @CurrentTestName + ' - unexpected technical error'
803+ UPDATE @ResultTable SET Result = ' Technical Failure' WHERE Test = @CurrentTestName
804+ END CATCH
805+ END
806+
807+ /* ******************************************************************************
808+ 15 Attempting to run a disabled Module from a Batch
809+ *******************************************************************************/
810+ IF @RunTest15 = ' Y'
811+ BEGIN
812+ SET @CurrentTestName = ' TEST 15'
813+ SET @CurrentTestDescription = ' Attempting to run a disabled Module from a Batch'
814+
815+ PRINT CHAR (10 ) + @CurrentTestName + ' - ' + @CurrentTestDescription
816+ INSERT INTO @ResultTable VALUES (@CurrentTestName, @CurrentTestDescription, @DefaultRunStatus)
817+
818+ BEGIN TRY
819+
820+ UPDATE omd .BATCH_MODULE SET ACTIVE_INDICATOR = ' N' WHERE MODULE_ID = (SELECT MODULE_ID FROM omd .MODULE WHERE MODULE_CODE= ' MySecondModule' )
821+
822+ EXEC [omd].[RunBatch]
823+ @BatchCode = ' MyNewBatch'
824+ ,@Debug = @Debug
825+
826+ SELECT @CurrentModuleInstanceId = MAX (MODULE_INSTANCE_ID) FROM omd .MODULE_INSTANCE
827+ SELECT @CurrentModuleExecutionStatus = EXECUTION_STATUS_CODE FROM omd .MODULE_INSTANCE WHERE MODULE_INSTANCE_ID= @CurrentModuleInstanceId;
828+
829+ IF @Verbose = ' Y'
830+ BEGIN
831+ PRINT ' The Current Module Instance is ' + CONVERT (VARCHAR (10 ),@CurrentModuleInstanceId)+ ' with status '' '+ @CurrentModuleExecutionStatus + ' '' .'
832+ END
833+
834+ IF @CurrentModuleExecutionStatus = ' Cancelled'
835+ BEGIN
836+ PRINT ' ' + @CurrentTestName + ' - succeeded'
837+ UPDATE @ResultTable SET Result = ' Success' WHERE Test = @CurrentTestName
838+ END
839+ ELSE
840+ BEGIN
841+ PRINT ' ' + @CurrentTestName + ' - failed'
842+ UPDATE @ResultTable SET Result = ' Failure' WHERE Test = @CurrentTestName
843+ END
844+
845+ UPDATE omd .MODULE SET ACTIVE_INDICATOR = ' Y' WHERE MODULE_CODE= ' MyNewModule'
846+ END TRY
847+ BEGIN CATCH
848+ PRINT ' ' + @CurrentTestName + ' - unexpected technical error'
849+ UPDATE @ResultTable SET Result = ' Technical Failure' WHERE Test = @CurrentTestName
850+ END CATCH
851+ END
852+
853+ /* ******************************************************************************
854+ 16 Attempting to run a disabled Batch
855+ *******************************************************************************/
856+ IF @RunTest16 = ' Y'
857+ BEGIN
858+ SET @CurrentTestName = ' TEST 16'
859+ SET @CurrentTestDescription = ' Attempting to run a disabled Batch'
860+
861+ PRINT CHAR (10 ) + @CurrentTestName + ' - ' + @CurrentTestDescription
862+ INSERT INTO @ResultTable VALUES (@CurrentTestName, @CurrentTestDescription, @DefaultRunStatus)
863+
864+ BEGIN TRY
865+
866+ UPDATE omd .BATCH SET ACTIVE_INDICATOR = ' N' WHERE BATCH_CODE = ' MyNewBatch'
867+
868+ EXEC [omd].[RunBatch]
869+ @BatchCode = ' MyNewBatch'
870+ ,@Debug = @Debug
871+
872+ SELECT @CurrentBatchInstanceId = MAX (BATCH_INSTANCE_ID) FROM omd .BATCH_INSTANCE
873+ SELECT @CurrentBatchExecutionStatus = EXECUTION_STATUS_CODE FROM omd .BATCH_INSTANCE WHERE BATCH_INSTANCE_ID= @CurrentBatchInstanceId;
874+ SELECT @CurrentBatchNextRunStatus = NEXT_RUN_STATUS_CODE FROM omd .BATCH_INSTANCE WHERE BATCH_INSTANCE_ID= @CurrentBatchInstanceId;
875+
876+ IF @Verbose = ' Y'
877+ BEGIN
878+ PRINT ' The Current Batch Instance is ' + CONVERT (VARCHAR (10 ),@CurrentBatchInstanceId)+ ' with execution status '' '+ @CurrentBatchExecutionStatus + ' '' and next runs status code '' ' + ' '+ @CurrentBatchNextRunStatus + ' '' ' + ' .'
879+ END
880+
881+ -- Log Test Results
882+ IF (@CurrentBatchExecutionStatus = ' Cancelled' )
883+ BEGIN
884+ PRINT ' ' + @CurrentTestName + ' - succeeded'
885+ UPDATE @ResultTable SET Result = ' Success' WHERE Test = @CurrentTestName
886+ END
887+ ELSE
888+ BEGIN
889+ PRINT ' ' + @CurrentTestName + ' - failed'
890+ UPDATE @ResultTable SET Result = ' Failure' WHERE Test = @CurrentTestName
891+ END
892+
893+ UPDATE omd .BATCH SET ACTIVE_INDICATOR = ' Y' WHERE BATCH_CODE = ' MyNewBatch'
894+ END TRY
895+ BEGIN CATCH
896+ PRINT ' ' + @CurrentTestName + ' - unexpected technical error'
897+ UPDATE @ResultTable SET Result = ' Technical Failure' WHERE Test = @CurrentTestName
898+ END CATCH
899+ END
758900
759901-- Display Results, optionally filter by success etc...
760902SELECT * FROM @ResultTable ORDER BY Test
@@ -763,12 +905,12 @@ SELECT * FROM @ResultTable ORDER BY Test
763905/* ******************************************************************************
764906-- Debug and verification only
765907SELECT * FROM [omd].[MODULE]
766- SELECT * FROM [omd].[MODULE_INSTANCE]
908+ SELECT * FROM [omd].[MODULE_INSTANCE] ORDER BY 1 DESC
767909
768910SELECT * FROM [omd].[BATCH]
769- SELECT * FROM [omd].[BATCH_INSTANCE]
911+ SELECT * FROM [omd].[BATCH_INSTANCE] ORDER BY 1 DESC
770912
771- SELECT * FROM [omd].[BATCH_MODULE] WHERE BATCH_ID = 1
913+ SELECT * FROM [omd].[BATCH_MODULE] WHERE BATCH_ID = (SELECT BATCH_ID FROM omd.BATCH WHERE BATCH_CODE = 'MyNewBatch')
772914
773915SELECT * FROM [omd].[MODULE_INSTANCE_EXECUTED_CODE]
774916SELECT * FROM [omd].EVENT_LOG
0 commit comments