Skip to content

Dev -> Staging [v4.3.0 Release]#429

Merged
addb merged 11 commits intostagingfrom
dev
Oct 25, 2023
Merged

Dev -> Staging [v4.3.0 Release]#429
addb merged 11 commits intostagingfrom
dev

Conversation

@addb
Copy link
Copy Markdown
Contributor

@addb addb commented Oct 25, 2023

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.

timkimadobe and others added 11 commits September 1, 2023 14:11
Merge to `main` for 4.2.0 release
Downmerge `main` to `dev` after v4.2.0 release
* Implement TestableNetworkRequest using @testable import for access to NetworkRequest

Override Equatable and Hashable implementations for use in testing comparisons

* Refactor NetworkRequestHelper data properties to use new TestableNetworkRequest as keys

Refactor usages to use TestableNetworkRequest methods
Rename setResponseFor to addResponseFor to more accurately reflect what the method does

* Refactor Mock and RealNetworkService based on changes to NetworkServiceHelper

* Refactor UpstreamIntegrationTests based on changes to RealNetworkService

* Add convenience init to TestableNetworkRequest and update usages

* Update implementation to use lowercased string comparison and hash for alignment

* Reorder operations to avoid race condition in MockNetworkService

By doing the countdown AFTER notifying the completion handler, awaits on the expected network request can properly gate the rest of the test case logic (for example, if the test case resets the mock network service, there isn't a race condition between the reset and the get mock response, due to prematurely ungated await)

* Remove unused NetworkService isCustomEquals method

* Update docs to reflect actual method name

* Align the logical implementations of isEqual and hash

* Refactor networkResponses data struct to be 1:1 request to response

Refactor related logic for getting and setting, and usage sites

* Add method and class docs for TestableNetworkRequest

* Remove defaultMockResponse property, and place it inline with only place it is used

* Update method doc for getResponseFor
* Update method names and params to be more Swiftlike

# Conflicts:
#	Tests/TestUtils/MockNetworkService.swift
#	Tests/TestUtils/NetworkRequestHelper.swift
#	Tests/TestUtils/RealNetworkService.swift
#	Tests/UpstreamIntegrationTests/UpstreamIntegrationTests.swift

* Rename setMockResponse to addMockResponse due to underlying behavior

Rename setExpectationForNetworkRequest to be more Swifty

# Conflicts:
#	Tests/TestUtils/MockNetworkService.swift

* Add method documentation for NetworkService testing classes

Rename timeout to expectationTimeout to clarify timeout intent
Refactor logic to remove waiting in getResponses, and rely on await in assertAllNetworkRequestExpectations

# Conflicts:
#	Tests/TestUtils/MockNetworkService.swift
#	Tests/TestUtils/NetworkRequestHelper.swift
#	Tests/TestUtils/RealNetworkService.swift
#	Tests/UpstreamIntegrationTests/UpstreamIntegrationTests.swift

* Reapply the method naming

Update method documentation

* Method naming consistency

* Doc wording standardization

* Update method doc wording
* Refactor NetworkRequestHelper networkResponses to be 1:many request to responses

Rename set method to add to better reflect actual logic
Refactor usages

* Refactor NetworkRequestHelper getResponse to getResponses

* Refactor RealNetworkService getResponse to getResponses

Refactor usages

* Create new method for NetworkRequestHelper to remove all responses for a given request

* Refactor MockNetworkService set and get network response methods

Use new clear all responses helper method to clear existing mocks
* JSON comparison parity (utility only) (#401)

* Remove custom helper enums and refactor usages

Update documentation and code logic to match Android implementation

* Apply lint autocorrect

* Revert "Apply lint autocorrect"

This reverts commit 7f38d19.

* Apply lint autocorrect

* Reduce wordiness of file and line param descriptions

* Update documentation null to nil

* Update file and line param descriptions

* Add method documentation to all helper methods

Update param name of extractArrayStyleComponents to be more intuitively descriptive

* JSON comparison parity - test cases (#402)

* Achieves parity with the Android Edge test setup for JSON comparison

Splits coverage into parameterized and special case tests, and update provides more comprehensive systematic coverage

* Add additional test cases to validate type mismatch detection and all boolean cases

Update index helper comments based on changed values

* Update failure cases to check for unintended type casting

* Fix comment typo

* Extract inline actual AnyCodable creation to separate line for clarity

* Refactor wildcard index logic (#416)

* Refactor wildcard index access to flatten logic since different condition and replacement groups are not needed

* Reformat method documentation to bring them all together

* Rename variables to better reflect what each one stores

* Refactor wildcard array index extraction to strictly validate format

Extract wildcard array index extraction logic into separate function
Update usages, test cases, and method documentation

* Update test failure message to include example format

* Rename `extractArrayStyleComponents` and update method docs (#418)

* Rename the extractArrayStyleComponents -> extractArrayFormattedComponents to better reflect actual behavior

Update method documentation to reflect the rename and to better explain the logic

* Update parameter description

* Update method description

* Include information about removing escape character
* Add cron schedule to integration test job

* Remove unused cron schedule

Update doc to mention how to convert back to PST
* Update Experience Event class for Datastream Config Override Feature (#397)

* Modify Experience event class to add datastreamIdOverride and datastreamConfigOverride fields.

* Updates based on reviews

* format fixes

* Review updates

* Add more unit test

---------

Co-authored-by: Kevin Lind <40409666+kevinlind@users.noreply.github.com>

* Update documentation for Datastream Override Feature (#399)

* Update documentation for datastream override feature

* Added objective c sample and made changes based on reviews

* Formatting fixes

* Updates based on reviews

* Datastream Id Override and Datastream Config Override Implementation (#398)

* Implemented Datastream Id override and Datastream config override feature. Refactored processHit function for readability and swift lint warnings.

* Added unit tests for the override feature

* Add Functional tests

* formatting fix

* Refactored code based on reviews

* Updates based on reviews

* More review updates

* Test update

* Updates based on reviews

* Update Codecov configuration

* Added upstream integration tests for configOverrides feature (#413)

* Added upstream integration tests for configOverrides feature

* Updates based on reviews

* Assert errors

* format fixes

* Moved ConfigOverrides test in a separate file. Moved helpers to TestBase and TestHelpers. Refactored some helper code to make it extensible and reusable.

* Move edge helpers to a separate extension of TestBase

* Updates based on reviews

* Updates based on reviews

* More updates based on reviews

* Skipping tests till Konductor issue PDCL-11131 is fixed

---------

Co-authored-by: Kevin Lind <40409666+kevinlind@users.noreply.github.com>
Co-authored-by: Emilia Dobrin <33132425+emdobrin@users.noreply.github.com>
* Bump version for 4.3.0 release

* Update pods
@addb addb requested a review from emdobrin October 25, 2023 18:41
@addb addb merged commit 1a8d42d into staging Oct 25, 2023
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