diff --git a/configuration/src/main/kotlin/com/malinskiy/marathon/config/serialization/ConfigurationFactory.kt b/configuration/src/main/kotlin/com/malinskiy/marathon/config/serialization/ConfigurationFactory.kt index 5e591a230..145a0ce45 100644 --- a/configuration/src/main/kotlin/com/malinskiy/marathon/config/serialization/ConfigurationFactory.kt +++ b/configuration/src/main/kotlin/com/malinskiy/marathon/config/serialization/ConfigurationFactory.kt @@ -80,7 +80,8 @@ class ConfigurationFactory( resolvedApplication, resolvedTestApplication, resolvedExtraApplications, - resolvedDerivedDataDir + resolvedDerivedDataDir, + it.testType ).apply { validate() } } val optionalDevices = configuration.vendorConfiguration.devicesFile?.resolveAgainst(marathonfileDir) @@ -120,7 +121,8 @@ class ConfigurationFactory( resolvedApplication, resolvedTestApplication, resolvedExtraApplications, - resolvedDerivedDataDir + resolvedDerivedDataDir, + it.testType ).apply { validate() } } val optionalDevices = configuration.vendorConfiguration.devicesFile?.resolveAgainst(marathonfileDir) diff --git a/configuration/src/test/kotlin/com/malinskiy/marathon/config/serialization/IosConfigurationFactoryTest.kt b/configuration/src/test/kotlin/com/malinskiy/marathon/config/serialization/IosConfigurationFactoryTest.kt index a1b7c05ad..a26f2229c 100644 --- a/configuration/src/test/kotlin/com/malinskiy/marathon/config/serialization/IosConfigurationFactoryTest.kt +++ b/configuration/src/test/kotlin/com/malinskiy/marathon/config/serialization/IosConfigurationFactoryTest.kt @@ -19,6 +19,7 @@ import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule import com.fasterxml.jackson.module.kotlin.KotlinFeature import com.fasterxml.jackson.module.kotlin.KotlinModule import com.malinskiy.marathon.config.serialization.yaml.SerializeModule +import com.malinskiy.marathon.config.vendor.apple.TestType class IosConfigurationFactoryTest { private val mockMarathonFileDir = File(ConfigurationFactoryTest::class.java.getResource("/fixture/config/ios").file) @@ -87,5 +88,15 @@ class IosConfigurationFactoryTest { val iosConfiguration = configuration.vendorConfiguration as VendorConfiguration.IOSConfiguration iosConfiguration.rsync.remotePath shouldBeEqualTo "/usr/bin/rsync" + iosConfiguration.bundle?.testType shouldBeEqualTo TestType.XCUITEST + } + + @Test + fun `on configuration with xctest type specified`() { + val file = File(ConfigurationFactoryTest::class.java.getResource("/fixture/config/ios/sample_3.yaml").file) + val configuration = parser.parse(file) + + val iosConfiguration = configuration.vendorConfiguration as VendorConfiguration.IOSConfiguration + iosConfiguration.bundle?.testType shouldBeEqualTo TestType.XCUITEST } } diff --git a/configuration/src/test/resources/fixture/config/ios/sample_3.yaml b/configuration/src/test/resources/fixture/config/ios/sample_3.yaml index a1ffdb1ff..0b9f51342 100644 --- a/configuration/src/test/resources/fixture/config/ios/sample_3.yaml +++ b/configuration/src/test/resources/fixture/config/ios/sample_3.yaml @@ -4,6 +4,7 @@ vendorConfiguration: type: "iOS" bundle: derivedDataDir: "derivedDataDir" + testType: xcuitest ssh: authentication: type: "publicKey"