Skip to content

Commit 02f47c0

Browse files
Introduce test cases for PUC (#1077)
* feat: add GAM test case * feat: add web view test case * feat: clean up * feat: tune GAM case * feat: clean up Info.plist
1 parent a0ac4f3 commit 02f47c0

File tree

6 files changed

+295
-2
lines changed

6 files changed

+295
-2
lines changed

InternalTestApp/InternalTestApp.xcodeproj/project.pbxproj

+12
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@
3939
53514CEC2D08416B00A480C0 /* SampleInterstitialController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53514CDA2D08416B00A480C0 /* SampleInterstitialController.swift */; };
4040
53514CED2D08416B00A480C0 /* SampleAdView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53514CD82D08416B00A480C0 /* SampleAdView.swift */; };
4141
53514CEE2D08416B00A480C0 /* CustomRendererBannerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53514CDE2D08416B00A480C0 /* CustomRendererBannerController.swift */; };
42+
535ADDFB2D19731000DB888F /* PrebidUniversalCreativeTestingGAMController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535ADDFA2D19731000DB888F /* PrebidUniversalCreativeTestingGAMController.swift */; };
43+
535ADDFC2D19731000DB888F /* PrebidUniversalCreativeTestingGAMController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535ADDFA2D19731000DB888F /* PrebidUniversalCreativeTestingGAMController.swift */; };
44+
535ADDFE2D19A62C00DB888F /* PrebidUniversalCreativeTestingWebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535ADDFD2D19A62C00DB888F /* PrebidUniversalCreativeTestingWebViewController.swift */; };
45+
535ADDFF2D19A62C00DB888F /* PrebidUniversalCreativeTestingWebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535ADDFD2D19A62C00DB888F /* PrebidUniversalCreativeTestingWebViewController.swift */; };
4246
5397BD142936185400ABDA22 /* PrebidOriginalAPIDisplayBannerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5397BD132936185400ABDA22 /* PrebidOriginalAPIDisplayBannerController.swift */; };
4347
5397BD26293760F500ABDA22 /* PrebidOriginalAPIDisplayInterstitialController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5397BD25293760F500ABDA22 /* PrebidOriginalAPIDisplayInterstitialController.swift */; };
4448
5397BD2A29376C9700ABDA22 /* PrebidOriginalAPIVideoRewardedController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5397BD2929376C9700ABDA22 /* PrebidOriginalAPIVideoRewardedController.swift */; };
@@ -393,6 +397,8 @@
393397
53514CDC2D08416B00A480C0 /* SampleModalViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SampleModalViewController.swift; sourceTree = "<group>"; };
394398
53514CDE2D08416B00A480C0 /* CustomRendererBannerController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomRendererBannerController.swift; sourceTree = "<group>"; };
395399
53514CDF2D08416B00A480C0 /* CustomRendererInterstitialController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomRendererInterstitialController.swift; sourceTree = "<group>"; };
400+
535ADDFA2D19731000DB888F /* PrebidUniversalCreativeTestingGAMController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrebidUniversalCreativeTestingGAMController.swift; sourceTree = "<group>"; };
401+
535ADDFD2D19A62C00DB888F /* PrebidUniversalCreativeTestingWebViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrebidUniversalCreativeTestingWebViewController.swift; sourceTree = "<group>"; };
396402
5397BD132936185400ABDA22 /* PrebidOriginalAPIDisplayBannerController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrebidOriginalAPIDisplayBannerController.swift; sourceTree = "<group>"; };
397403
5397BD25293760F500ABDA22 /* PrebidOriginalAPIDisplayInterstitialController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrebidOriginalAPIDisplayInterstitialController.swift; sourceTree = "<group>"; };
398404
5397BD2929376C9700ABDA22 /* PrebidOriginalAPIVideoRewardedController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrebidOriginalAPIVideoRewardedController.swift; sourceTree = "<group>"; };
@@ -746,6 +752,8 @@
746752
5397BD312937895700ABDA22 /* PrebidOriginalAPIVideoInstreamViewController.swift */,
747753
539F961329DEF2670061E7A5 /* PrebidOriginalAPIVideoInterstitialController.swift */,
748754
5397BD2929376C9700ABDA22 /* PrebidOriginalAPIVideoRewardedController.swift */,
755+
535ADDFA2D19731000DB888F /* PrebidUniversalCreativeTestingGAMController.swift */,
756+
535ADDFD2D19A62C00DB888F /* PrebidUniversalCreativeTestingWebViewController.swift */,
749757
);
750758
path = OriginalAPI;
751759
sourceTree = "<group>";
@@ -1610,6 +1618,7 @@
16101618
53ED2FF629798104007D13EE /* BaseConfigurationController.swift in Sources */,
16111619
53ED2FF729798104007D13EE /* NativeAsset+Extensions.swift in Sources */,
16121620
53ED2FF829798104007D13EE /* PrebidGAMNativeAdController.swift in Sources */,
1621+
535ADDFE2D19A62C00DB888F /* PrebidUniversalCreativeTestingWebViewController.swift in Sources */,
16131622
53ED2FF929798104007D13EE /* PrebidOriginalAPIVideoInstreamViewController.swift in Sources */,
16141623
53ED2FFA29798104007D13EE /* PrebidAdMobBannerViewController.swift in Sources */,
16151624
53ED2FFB29798104007D13EE /* ConfigurableViewController.swift in Sources */,
@@ -1639,6 +1648,7 @@
16391648
53514CE52D08416B00A480C0 /* SampleInterstitialController.swift in Sources */,
16401649
53514CE62D08416B00A480C0 /* SampleAdView.swift in Sources */,
16411650
53514CE72D08416B00A480C0 /* CustomRendererBannerController.swift in Sources */,
1651+
535ADDFC2D19731000DB888F /* PrebidUniversalCreativeTestingGAMController.swift in Sources */,
16421652
53ED300E29798104007D13EE /* NativeAdViewBoxProtocol.swift in Sources */,
16431653
53ED300F29798104007D13EE /* FormViewController+RowBuildHelpers.swift in Sources */,
16441654
53ED301029798104007D13EE /* PrebidGAMBannerController.swift in Sources */,
@@ -1710,6 +1720,7 @@
17101720
5B209B4A21075E0A00C0F5CE /* BaseConfigurationController.swift in Sources */,
17111721
92C4E60B27A2F5D900738370 /* NativeAsset+Extensions.swift in Sources */,
17121722
92102C6127B0F2FE003F12B2 /* PrebidGAMNativeAdController.swift in Sources */,
1723+
535ADDFF2D19A62C00DB888F /* PrebidUniversalCreativeTestingWebViewController.swift in Sources */,
17131724
5397BD322937895700ABDA22 /* PrebidOriginalAPIVideoInstreamViewController.swift in Sources */,
17141725
92E92502276B299F002B57F3 /* PrebidAdMobBannerViewController.swift in Sources */,
17151726
5BCCA3D62136D2E800DA3B5A /* ConfigurableViewController.swift in Sources */,
@@ -1739,6 +1750,7 @@
17391750
53514CEC2D08416B00A480C0 /* SampleInterstitialController.swift in Sources */,
17401751
53514CED2D08416B00A480C0 /* SampleAdView.swift in Sources */,
17411752
53514CEE2D08416B00A480C0 /* CustomRendererBannerController.swift in Sources */,
1753+
535ADDFB2D19731000DB888F /* PrebidUniversalCreativeTestingGAMController.swift in Sources */,
17421754
92F9A5D127A15BD1007B0B17 /* NativeAdViewBoxProtocol.swift in Sources */,
17431755
341CC3142562C9D000186F29 /* FormViewController+RowBuildHelpers.swift in Sources */,
17441756
3493021C2473F408004A6086 /* PrebidGAMBannerController.swift in Sources */,

InternalTestApp/PrebidMobileDemoRendering/AppDelegate.swift

+2
Original file line numberDiff line numberDiff line change
@@ -183,4 +183,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
183183
func applicationWillTerminate(_ application: UIApplication) {
184184
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
185185
}
186+
187+
186188
}

InternalTestApp/PrebidMobileDemoRendering/Model/TestCasesManager.swift

+24
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,30 @@ struct TestCaseManager {
467467
setupCustomParams(for: interstitialController.prebidConfigId)
468468
}),
469469

470+
471+
// MARK: ---- Prebid Universal Creative Tests
472+
473+
TestCase(title: "Prebid Universal Creative (GAM)",
474+
tags: [.banner, .originalAPI, .server],
475+
exampleVCStoryboardID: "AdapterViewController",
476+
configurationClosure: { vc in
477+
guard let adapterVC = vc as? AdapterViewController else {
478+
return
479+
}
480+
481+
let bannerController = PrebidUniversalCreativeTestingGAMController(rootController: adapterVC)
482+
bannerController.adSize = CGSize(width: 300, height: 250)
483+
bannerController.gamAdUnitID = "/21808260008/puc-testing-secure-banner-300x250"
484+
485+
adapterVC.setup(adapter: bannerController)
486+
setupCustomParams(for: bannerController.prebidConfigId)
487+
}),
488+
489+
TestCase(title: "Prebid Universal Creative (WebView)",
490+
tags: [.banner, .originalAPI, .server],
491+
exampleVCStoryboardID: "PrebidUniversalCreativeTestingWebViewController",
492+
configurationClosure: { vc in }),
493+
470494
// MARK: ---- Native (Original API)
471495

472496
TestCase(title: "Native Banner (GAM Original) [OK, PUC]",

InternalTestApp/PrebidMobileDemoRendering/Resources/Base.lproj/Main.storyboard

+64-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="6M7-3O-9SJ">
2+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="6M7-3O-9SJ">
33
<device id="retina4_7" orientation="portrait" appearance="light"/>
44
<dependencies>
55
<deployment identifier="iOS"/>
6-
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
6+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
77
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
88
<capability name="System colors in document resources" minToolsVersion="11.0"/>
99
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -376,6 +376,68 @@
376376
</objects>
377377
<point key="canvasLocation" x="-180" y="1926"/>
378378
</scene>
379+
<!--Prebid Universal Creative Testing Web View Controller-->
380+
<scene sceneID="1bh-3o-3hr">
381+
<objects>
382+
<viewController storyboardIdentifier="PrebidUniversalCreativeTestingWebViewController" useStoryboardIdentifierAsRestorationIdentifier="YES" id="6C0-Uv-o8K" customClass="PrebidUniversalCreativeTestingWebViewController" customModule="InternalTestApp" customModuleProvider="target" sceneMemberID="viewController">
383+
<view key="view" contentMode="scaleToFill" id="f5y-Bu-uF0">
384+
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
385+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
386+
<subviews>
387+
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="gEx-oc-f1D">
388+
<rect key="frame" x="94" y="63" width="187.5" height="34"/>
389+
<fontDescription key="fontDescription" type="system" pointSize="14"/>
390+
<textInputTraits key="textInputTraits"/>
391+
</textField>
392+
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="WuP-WD-y5P">
393+
<rect key="frame" x="136.5" y="107" width="102" height="35"/>
394+
<state key="normal" title="Button"/>
395+
<buttonConfiguration key="configuration" style="plain" title="Open URL"/>
396+
<connections>
397+
<action selector="onOpenURLPressed:" destination="6C0-Uv-o8K" eventType="touchUpInside" id="APu-tj-xWt"/>
398+
</connections>
399+
</button>
400+
<wkWebView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="M13-Dr-swd">
401+
<rect key="frame" x="37.5" y="152" width="300" height="250"/>
402+
<constraints>
403+
<constraint firstAttribute="width" constant="300" id="Yx3-0i-S0n"/>
404+
<constraint firstAttribute="height" constant="250" id="jn4-oq-cg6"/>
405+
</constraints>
406+
<wkWebViewConfiguration key="configuration">
407+
<audiovisualMediaTypes key="mediaTypesRequiringUserActionForPlayback" none="YES"/>
408+
<wkPreferences key="preferences"/>
409+
</wkWebViewConfiguration>
410+
</wkWebView>
411+
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Scheme, IP, port(f.e. http://192.168.0.108:9876)" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Zgi-DY-0kd">
412+
<rect key="frame" x="20.5" y="35" width="334" height="18"/>
413+
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
414+
<nil key="textColor"/>
415+
<nil key="highlightedColor"/>
416+
</label>
417+
</subviews>
418+
<viewLayoutGuide key="safeArea" id="6xz-81-es3"/>
419+
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
420+
<constraints>
421+
<constraint firstItem="WuP-WD-y5P" firstAttribute="centerX" secondItem="f5y-Bu-uF0" secondAttribute="centerX" id="3MP-so-oYh"/>
422+
<constraint firstItem="Zgi-DY-0kd" firstAttribute="centerX" secondItem="f5y-Bu-uF0" secondAttribute="centerX" id="3yK-uW-tei"/>
423+
<constraint firstItem="Zgi-DY-0kd" firstAttribute="top" secondItem="6xz-81-es3" secondAttribute="top" constant="15" id="MiX-3g-VhY"/>
424+
<constraint firstItem="gEx-oc-f1D" firstAttribute="centerX" secondItem="f5y-Bu-uF0" secondAttribute="centerX" id="R0m-Oy-yjw"/>
425+
<constraint firstItem="M13-Dr-swd" firstAttribute="top" secondItem="WuP-WD-y5P" secondAttribute="bottom" constant="10" id="U8i-28-Imo"/>
426+
<constraint firstItem="gEx-oc-f1D" firstAttribute="top" secondItem="Zgi-DY-0kd" secondAttribute="bottom" constant="10" id="ZUA-zC-sqp"/>
427+
<constraint firstItem="M13-Dr-swd" firstAttribute="centerX" secondItem="f5y-Bu-uF0" secondAttribute="centerX" id="c5e-jc-sxK"/>
428+
<constraint firstItem="gEx-oc-f1D" firstAttribute="width" secondItem="f5y-Bu-uF0" secondAttribute="width" multiplier="0.5" id="cwk-oO-d6t"/>
429+
<constraint firstItem="WuP-WD-y5P" firstAttribute="top" secondItem="gEx-oc-f1D" secondAttribute="bottom" constant="10" id="eo7-c4-dHB"/>
430+
</constraints>
431+
</view>
432+
<connections>
433+
<outlet property="textField" destination="gEx-oc-f1D" id="DEy-7S-P3k"/>
434+
<outlet property="webView" destination="M13-Dr-swd" id="bbx-Nr-eXo"/>
435+
</connections>
436+
</viewController>
437+
<placeholder placeholderIdentifier="IBFirstResponder" id="bHa-QV-5Dm" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
438+
</objects>
439+
<point key="canvasLocation" x="-186" y="2603"/>
440+
</scene>
379441
<!--Prebid Presentation View Controller-->
380442
<scene sceneID="tdw-Us-BGz">
381443
<objects>

0 commit comments

Comments
 (0)