2
I Use This!
Activity Not Available

News

Analyzed 3 months ago. based on code collected 3 months ago.
Posted almost 11 years ago by Cédric Charlier
Changed error display when etl is failing ... [More] NBi.Core/Etl/IntegrationService/PackageEvents.cs NBi.NUnit/Execution/SuccessfulConstraint.cs [Less]
Posted almost 11 years ago by Cedric L. Charlier
Changed error display when etl is failing
Posted almost 11 years ago by Cédric Charlier
Manually copied the etl to the folder ... [More] NBi.Testing/Acceptance/RuntimeOverrider.cs [Less]
Posted almost 11 years ago by Cédric Charlier
Added a level of inheritance to make a distinction between executable and queryable ... [More] NBi.NUnit/Builder/AbstractExecutionBuilder.cs NBi.NUnit/Builder/ExecutionFasterThanBuilder.cs NBi.NUnit/Builder/ExecutionMatchPatternBuilder.cs NBi.NUnit/Builder/ExecutionSyntacticallyCorrectBuilder.cs NBi.Testing/Unit/NUnit/Builder/ExecutionEqualsToBuilderTest.cs NBi.Testing/Unit/NUnit/Builder/ExecutionMatchPatternBuilderTest.cs NBi.Testing/Unit/NUnit/Builder/QueryFasterThanBuilderTest.cs NBi.Testing/Unit/NUnit/Builder/QuerySyntacticallyCorrectBuilderTest.cs NBi.Testing/Unit/Xml/Systems/ExecutionXmlTest.cs NBi.Xml/Items/EtlXml.cs NBi.Xml/Items/ExecutableXml.cs NBi.Xml/Items/QueryableXml.cs NBi.Xml/NBi.Xml.csproj NBi.Xml/Systems/ExecutionXml.cs [Less]
Posted almost 11 years ago by Seddryck
Etl's performance Version 1.6 introduces tests for Etl. More information on how to define an Etl in a system-under-test can be found on the page named Etl Performance It’s also possible to test the performance of your Etl by providing an timespan for ... [More] the execution of the run. If the run is slower than expected the test will fail, else it will succeed. Note that the effective result of the execution is not considered during this test. So if your package is failing after 1 second and your maximum was of 5 seconds, your test will succeed.A full sample would be: <test name="Etl is faster than 10 seconds" uid="0002"> <system-under-test> <execution> <etl path="Etl\" name="Sample.dtsx"/> </execution> </system-under-test> <assert> <fasterThan max-time-milliSeconds="10000"/> </assert> </test> [Less]
Posted almost 11 years ago by Seddryck
Etl's performance Version 1.6 introduces tests for Etl. More information on how to define an Etl in a system-under-test can be found on the page named Etl Performance It’s also possible to test the performance of your Etl by providing an timespan for ... [More] the execution of the run. If the run is slower than expected the test will fail, else it will succeed. Note that the effective result of the execution is not considered during this test. So if your package is failing after 1 second and your maximum was of 5 seconds, your test will succeed.A full sample would be:<test name="Etl is faster than 10 seconds" uid="0002"> <system-under-test> <execution> <etl path="Etl\" name="Sample.dtsx"/> </execution> </system-under-test> <assert> <fasterThan max-time-milliSeconds="10000"/> </assert></test> [Less]
Posted almost 11 years ago by Seddryck
Etl is successful Version 1.6 introduces tests for Etl. More information on how to define an Etl in a system-under-test can be found on the page named Etl Successful run This first kind of tests is really straightforward; you’re defining a package ... [More] and start a run. If the package returns a valid status then the test is successful else it fails. To achieve this, in addition of the Etl defined in the system-under-test you will need to define an xml element named “successful” in the assert.A full sample would be: <test name="Etl is successful" uid="0001"> <system-under-test> <execution> <etl path="Etl\" name="Sample.dtsx"> <parameter name="DestinationPath">C:\toto.txt</parameter> </etl> </execution> </system-under-test> <assert> <successful/> </assert> </test> [Less]
Posted almost 11 years ago by Seddryck
Etl Version 1.6 introduces tests for Etl. Important note: Currently (will be changed in a near future) NBi supports testing Etl runs on the same server than the test. It means that it’s not possible to run your test on your own computer or on your ... [More] build server and try to execute remotely an SSIS package. Only SSIS packages can be executed (Support for others Etl is not planned) Define the System-under-test (or the setup element) For this you’ll need to define your tested package in the system-under-test and specify its name in the corresponding xml attribute (the extension dtsx is not needed): <system-under-test> <execution> <etl name="myPackage" > </etl> </execution> </system-under-test> To be testable a package may be hosted on two ways: on SQL Server or on a file. To define an Etl, available on a file folder, define your path in the corresponding xml attribute. Note that path is relative to your test-suite and should end by a backslash. <etl path="relative-folder\" name="myPackage"/> You can also provide an absolute path starting by the letter of a drive. <etl path="C:\absolute-folder\" name="myPackage"/> If you want to specify that your package is hosted on a SQL Server, then also specify the server xml attribute with the name of your SQL Server. Note that path is relative to the root of your SSIS Server and should start and end by a slash. <etl server="." path="/SSIS/" name="myPackage"/> Parameters An SSIS package is usually developed with parameters for variables (such as connection strings or folders, file names, …) that you’d like to define at runtime. NBi supports to define these parameters in your test definition by providing an xml element named “parameter” and available under the xml element “etl”.You’ll need to define the name (xml attribute) and the value (xml text) of parameter that you want to supply to the etl. <etl path="Etl\" name="Sample.dtsx"> <parameter name="DestinationPath">C:\toto.txt</parameter> </etl> Define tests Currently, it’s possible to define three kinds of tests for an Etl: validate that a run is successful, validate the execution timespan for a package and, finally, validate the side effects (consequences) of a run. Note that last kind of test is fundamentally different. Indeed, the system-under-test is not the Etl but the object on which you want to observe a change after the run of your Etl. This kind of test is detailed on the page Test side effects of an Etl [Less]
Posted almost 11 years ago by Seddryck
Test side effects of an Etl Version 1.6 introduces tests for Etl, for more info about this read here []The first role of an Etl is often to introduce changes to the state of other objects (database content, create files, …). NBi is supporting a way ... [More] to test these changes after an Etl run. The process to achieve this is relatively is first during the setup of your test to run your etl, then define your system-under-test (by example, through a query to a table) and assert the correct state of your object (the content of the result-set returned by your query). Define your test In the sample bellow the etl will read the content of a file and populate a table. To test that the file has been correctly loaded we’ll execute a select on the corresponding table and compare with the content of this file.In the xml element named “setup” you’ll need to define your etl to run. The syntax is exactly the same than for etl defined in a system-under-test (see here). <test name="Etl in setup" uid="0003"> <setup> <etl-run name="Sample.dtsx" path="Etl\"> <parameter name="DataToLoadPath">C:\data.csv</parameter> </etl-run> </setup> … </test> Next, you’ll need to define your query on a table as a system-under-test <system-under-test> <execution> <query> select CurrencyCode, Name from [Sales].[Currency] </query> </execution> </system-under-test> And finally to define your expected result-set: <assert> <equalTo keys="first"> <column index="1" type="text" role="value"/> <resultSet file="C:\result.csv"/> </equalTo> </assert> The whole sample would be: <test name="Etl in setup" uid="0003"> <setup> <etl-run name="Sample.dtsx" path="Etl\"> <parameter name="DataToLoadPath">C:\data.csv</parameter> </etl-run> </setup> <system-under-test> <execution> <query> select CurrencyCode, Name from [Sales].[Currency] </query> </execution> </system-under-test> <assert> <equalTo keys="first"> <column index="1" type="text" role="value"/> <resultSet file="C:\data.csv"/> </equalTo> </assert> </test> [Less]
Posted about 11 years ago by zzyx
Thank's a lot