Skip to content

staging -> main for v5.0.0 release#452

Merged
emdobrin merged 21 commits intomainfrom
staging
Mar 20, 2024
Merged

staging -> main for v5.0.0 release#452
emdobrin merged 21 commits intomainfrom
staging

Conversation

@emdobrin
Copy link
Copy Markdown
Contributor

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have signed the Adobe Open Source CLA.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

addb and others added 20 commits November 2, 2023 15:46
Downmerge main to dev after v4.3.0 release
* Add on-failure error handling step and dynamic step naming

Use simulated test failure to test error handling

* Move up test failure simulation step to error out faster

* Remove toJson conversion in function name

* add additional text to dynamic name

* test exit code printed in body

* remove inline comments

* log on-failure step outputs

* add toJson conversion

* output to github output instead of env

* output on-failure json as final step name

* Manual construction of JSON name

* Update usage of branch name

* Test setting input id as run name

* Simulate success

* Temp remove actual integration tests to check workflow

* Use default value in the result JSON name

* Remove workflow testing logic
* Remove local versions of test util files

* Update pod dependencies for test targets to use AEPTestUtils

* Remove AnyCodable JSON comparison test cases (moved to AEPTestUtils)

* Add AEPTestUtils import to upstream integration test classes

* Get latest version of AEPTestUtils

* Add AEPTestUtils dependency for unit tests

Also add UnitTests. prefix to assertEquals due to compiler preference for instance method from AEPTestUtils extension to XCTestCase for JSON comparison over global function defined in UnitTests module

* Add AEPTestUtils dependency for functional tests

* Refactor logic to accommodate object persistence format changes in Core 4.2.0

* Update AEPTestUtils branch name

* Revert UnitTests. prefix with new custom JSON comparison protocol

* Add conformance to AnyCodableAsserts for JSON comparison methods

Add line and file params to assertion helper to emit test failure in corresponding test case

* Add conformance to AnyCodableAsserts for JSON comparison methods
* Update AEPTestUtils branch

* Refactor EdgeEventErrorTests to use JSON comparison

* Refactor EdgeEventWarningTests to use JSON comparison

* Remove old assertion logic

* Refactor EdgeExtensionTests to use JSON comparison

* Refactor testProcessHit_experienceEvent_withDatastreamOverrideSet_sendsNetworkRequest_returnsTrue

testProcessHit_experienceEvent_withDatastreamOverrideSet_sendsNetworkRequest_returnsTrue change intent:
1. Refactor existing mock network service method usage to AEPTestUtils MockNetworkService, which explicitly requires URL
    a. Has the downstream effect of more strictly validating the request
2. Take advantage of new functionality in mockNetworkService.assertAllNetworkRequestExpectations to validate both:
    a. Expected events
    b. No unexpected events (toggleable)
3. Remove mock response from test case setup since it is the same as the mock response set in helper assertProcessHit

* Refactor EdgeHitProcessorTests to use AEPTestUtils MockNetworkService

* Refactor testProcessHit_experienceEvent_happy_sendsNetworkRequest_returnsTrue

Remove mock response from test case setup since it is the same as the mock response set in helper assertProcessHit

* Update AEPTestUtils branch dependency

To take advantage of new functionality in mockNetworkService.assertAllNetworkRequestExpectations to validate:
    a. Expected events
    b. No unexpected events (toggleable)
    c. No requests sent out (no expectations + no unexpected events allowed)

* Update expected event count to be derived from recoverable error count

* Refactor EdgeHitProcessorTests

* Refactor EdgeHitTests to use JSON comparison

* Get latest AEPTestUtils

* Refactor EdgeNetworkServiceTests to use AEPTestUtils

* Apply lint autocorrect

* Remove redundant validation

* Update AEPTestUtils to point to feature/latest

* Refactor unit tests to use latest AEPTestUtils updates

* Update pods

* Fix build errors - UpstreamIntegrationTests

* Fix build errors - FunctionalTests
* Update AEPTestUtils branch

* Refactor EdgeEventErrorTests to use JSON comparison

* Refactor EdgeEventWarningTests to use JSON comparison

* Remove old assertion logic

* Refactor EdgeExtensionTests to use JSON comparison

* Refactor testProcessHit_experienceEvent_withDatastreamOverrideSet_sendsNetworkRequest_returnsTrue

testProcessHit_experienceEvent_withDatastreamOverrideSet_sendsNetworkRequest_returnsTrue change intent:
1. Refactor existing mock network service method usage to AEPTestUtils MockNetworkService, which explicitly requires URL
    a. Has the downstream effect of more strictly validating the request
2. Take advantage of new functionality in mockNetworkService.assertAllNetworkRequestExpectations to validate both:
    a. Expected events
    b. No unexpected events (toggleable)
3. Remove mock response from test case setup since it is the same as the mock response set in helper assertProcessHit

* Refactor EdgeHitProcessorTests to use AEPTestUtils MockNetworkService

* Refactor testProcessHit_experienceEvent_happy_sendsNetworkRequest_returnsTrue

Remove mock response from test case setup since it is the same as the mock response set in helper assertProcessHit

* Update AEPTestUtils branch dependency

To take advantage of new functionality in mockNetworkService.assertAllNetworkRequestExpectations to validate:
    a. Expected events
    b. No unexpected events (toggleable)
    c. No requests sent out (no expectations + no unexpected events allowed)

* Update expected event count to be derived from recoverable error count

* Refactor EdgeHitProcessorTests

* Refactor EdgeHitTests to use JSON comparison

* Get latest AEPTestUtils

* Refactor EdgeNetworkServiceTests to use AEPTestUtils

* Apply lint autocorrect

* Remove redundant validation

* Update AEPTestUtils to point to feature/latest

* Refactor unit tests to use latest AEPTestUtils updates

* Refactor EdgePublicAPITests to use JSON comparison

* Refactor EdgeRequestTests to use JSON comparison tool

* Refactor ExperienceEventTests to use JSON comparison tool

* Refactor ImplementationDetailsTests to use JSON comparison tool

* Refactor KonductorConfigTests to use JSON comparison tool

Move encoder to top level of class for reuse

* Refactor RequestBuilderTests to use JSON comparison tool

* Refactor RequestMetadataTests to use JSON comparison tool

* Refactor StateMetadataTests to use JSON comparison tool

* Refactor StoreResponsePayloadTests to use JSON comparison tool

* Refactor unit tests to use latest updates from AEPTestUtils

* Apply lint autocorrect
* Update pods

* Refactor AEPEdgeFunctionalTests to use AEPTestUtils

* Update CompletionHandlerFunctionalTests to use JSON comparison

* Refactor EdgeConsentTests to use JSON comparison

* Refactor AEPEdgeDatastreamOverrideTests to use JSON comparison

* Apply lint autocorrect

* Update pods

* Update to use known requestId and requestEventId values in assertion

* Update to use expected network request format helper method

Remove redundant clearCache

* Update to use expected network request format helper method

Remove redundant clearCache

* Remove redundant clearCache

* Apply lint autocorrect
* Update pods

* Update testSendEvent_with_NO_priorState_receivesExpectedStateStoreEventHandle to be able to strictly validate collection counts

Update formatting, removing raw strings where not required

* Update base mode to type match and use exact match option

* Update pods

* Update to include exact size equality check
* Update pods

* Refactor AEPEdgeFunctionalTests to use AEPTestUtils

* Update CompletionHandlerFunctionalTests to use JSON comparison

* Refactor EdgeConsentTests to use JSON comparison

* Refactor AEPEdgeDatastreamOverrideTests to use JSON comparison

* Apply lint autocorrect

* Update pods

* Update IdentityStateFunctionalTests to use JSON comparison

* Update AEPEdgePathOverwriteTests to use JSON comparison

* Refactor path option format based on latest AEPTestUtil updates

* Update part of NetworkResponseHandlerFunctionalTests to use JSON comparison

* Remove test code

* Update NetworkResponseHandlerFunctionalTests to use JSON comparison

* Apply lint autocorrect

* Update NoConfigFunctionalTests to use JSON comparison

* Update SampleFunctionalTests to use JSON comparison

* Update pods

* Refactor usages of KeyMustBeAbsent to reflect new format

* Refactor general cache clearing to use new method

* Update pods

* Remove unused expected JSON strings

* Update AEPTestUtils dependency to use more stable tag release

* Update AEPTestUtils to use more stable tagged release

* Update WildcardMatch usages to AnyOrderMatch

* Fix KeyMustBeAbsent path to actual validation path

This test should check that the network request does not include the key "request" and its value under "events" since this is an internal key that Edge extension processes and removes from the event sent upstream.

* Fix path to be validated to reflect events array structure
* Bump to min iOS12,tvOS12, version 5.0.0

* Fix failing test-podspec script

* Update circleci to xcode15

* More version updates

* Marketing version 5.0.0

* Fixes for consistency, updated iphone simulator

* Update dependency to edgeidentity v5.0, update SPM dependencies to include required edgeidentity
* test w/ xcode 15.1.0

* try medium m1

* use x86 resource class for circleci

* test with xcode 14.1

* xcode 15.2.0

* xcode 15.1 + disable codecov
Merge main changes + staging pods
dev -> staging for v5.0.0 release
* Fix syntax Package.swift

* Fix syntax Package.swift
* xcode proj settings

* podfile update

* spm dependencies + gemfile + pod install on archive
@emdobrin emdobrin merged commit 4817d95 into main Mar 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants