Example #1
0
        /// <summary>
        /// The add predefined test suites from assembly.
        /// </summary>
        /// <param name="rootObject">
        /// The root object.
        /// </param>
        /// <param name="loadingAssemblyName">
        /// The loading assembly name.
        /// </param>
        /// <param name="deviceFunctions">
        /// </param>
        public void AddPredefinedTestSuitesFromAssembly(TestCollection rootObject, string loadingAssemblyName, List <DeviceFunction> deviceFunctions)
        {
            if (deviceFunctions != null)
            {
                var suitesFiles = AssemblyProxy.GetTestSuitesFileFromAssembly(loadingAssemblyName);

                foreach (var suitesFile in suitesFiles)
                {
                    try
                    {
                        var testConfig = new TestConfiguration();
                        testConfig = testConfig.GetTestConfiguration(suitesFile.ResourceNameFullPath);

                        foreach (var availableTestObject in testConfig.AvailableTestObjects)
                        {
                            if (availableTestObject is TestSuite)
                            {
                                var testSuite = availableTestObject as TestSuite;
                                if (testSuite.TestCategory == TestCategory.DeviceTypeAcceptance)
                                {
                                    testConfig.AvailableTestObjects = FilderTestConfig(deviceFunctions, testSuite.TestObjects);

                                    // var testObjects = this.AddNamespaceToTestObjectCollection(rootObject, string.Format("{0}.{1}.{2}", testSuite.TestDefinition, testSuite.TestCategory, testSuite.TestFocus), testConfig.AvailableTestObjects);
                                    var testObjects = this.AddNamespaceToTestObjectCollection(rootObject, string.Format("{0}", testSuite.TestDefinition), testConfig.AvailableTestObjects);

                                    foreach (var testObject in testObjects)
                                    {
                                        MergeTestObjectCollection(this.TestConfiguration.AvailableTestObjects, testObject as TestCollection);
                                    }
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Log.ErrorEx(this, ex, string.Format("AddPredefinedTestSuitesFromAssembly: {0} - {1}", suitesFile.ResourceNameFullPath, ex.Message));
                    }
                    finally
                    {
                        File.Delete(suitesFile.ResourceNameFullPath);
                    }
                }
            }
        }
        /// <summary>
        /// The get setup delivery device functions from assembly.
        /// </summary>
        /// <param name="testFrameworkAssemblyPath">
        /// The test framework assembly path.
        /// </param>
        /// <returns>
        /// The <see cref="DeviceFunction"/>.
        /// </returns>
        public static List <DeviceFunction> GetSetupDeliveryDeviceFunctionsFromAssembly(string testFrameworkAssemblyPath)
        {
            var deviceFunctionList = new List <DeviceFunction>();

            var suitesFiles = AssemblyProxy.GetTestSuitesFileFromAssembly(testFrameworkAssemblyPath);

            foreach (var suitesFile in suitesFiles)
            {
                try
                {
                    var testConfig = new TestConfiguration();
                    testConfig = testConfig.GetTestConfiguration(suitesFile.ResourceNameFullPath);

                    foreach (var availableTestObject in testConfig.AvailableTestObjects)
                    {
                        if (availableTestObject is TestSuite)
                        {
                            var testSuite = availableTestObject as TestSuite;
                            if (testSuite.TestCategory == TestCategory.SetupDelivery)
                            {
                                var deviceFunction = new DeviceFunction
                                {
                                    DisplayName = testSuite.TestFocus.ToString(),
                                    Name        = testSuite.TestFocus.ToString(),
                                    Active      = true,
                                    Version     = new Version()
                                };

                                deviceFunctionList.Add(deviceFunction);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Log.ErrorEx(null, ex, string.Format("AddPredefinedTestSuitesFromAssembly: {0} - {1}", suitesFile.ResourceNameFullPath, ex.Message));
                }
            }

            return(deviceFunctionList);
        }
Example #3
0
        /// <summary>
        /// The add test suites from assembly.
        /// </summary>
        /// <param name="loadingAssemblyName">
        /// The loading assembly name.
        /// </param>
        private void AddTestSuitesFromAssembly(string loadingAssemblyName)
        {
            var suitesFiles = AssemblyProxy.GetTestSuitesFileFromAssembly(loadingAssemblyName);

            foreach (var suitesFile in suitesFiles)
            {
                var testConfig = new TestConfiguration();

                var allAvailableTestObjects = testConfig.GetTestConfiguration(suitesFile.ResourceNameFullPath).AvailableTestObjects;

                var testObjectNamespace = Path.GetFileNameWithoutExtension(Path.GetFileNameWithoutExtension(suitesFile.ResourceName));

                var testObjects = this.AddNamespaceToTestObjectCollection(testObjectNamespace, allAvailableTestObjects);

                foreach (var testObject in testObjects)
                {
                    MergeTestObjectCollection(this.TestConfiguration.AvailableTestObjects, testObject as TestCollection);
                }

                File.Delete(suitesFile.ResourceNameFullPath);
            }
        }