-
Notifications
You must be signed in to change notification settings - Fork 360
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(webinar): spark-623318 return correct info when not reach JBH #4126
base: next
Are you sure you want to change the base?
Conversation
…ng since not reach JBH
📝 WalkthroughWalkthroughThis pull request introduces enhancements to error handling in the Webex Meetings plugin. Two new constants are added in the Possibly related PRs
Warning There were issues while running some tools. Please review the errors and either fix the tool’s configuration or disable the tool if it’s a critical failure. 🔧 ESLint
yarn install v1.22.22 (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) ✨ Finishing Touches
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Nitpick comments (6)
packages/@webex/plugin-meetings/src/constants.ts (3)
206-206
: Typo in constant name "REASN" instead of "REASON".The constant name contains a typo:
JOIN_ERROR_REASN_FOR_END_USER
should beJOIN_ERROR_REASON_FOR_END_USER
.-export const JOIN_ERROR_REASN_FOR_END_USER = [403003]; +export const JOIN_ERROR_REASON_FOR_END_USER = [403003];
206-206
: Consider adding JSDoc comments for better code documentation.This constant would benefit from JSDoc comments explaining its purpose, similar to other constants in this file.
+/** + * @description Error code for when a user tries to join a meeting before Join Before Host (JBH) time + * @type {array} + * @constant + */ export const JOIN_ERROR_REASN_FOR_END_USER = [403003];
1337-1337
: Fix grammar in the comment.There's a minor grammatical error in the comment.
- NOT_REACH_JBH: 'NOT_REACH_JBH', // Meeting is not allow to access since not reach JBH time + NOT_REACH_JBH: 'NOT_REACH_JBH', // Meeting is not allowed to access since not reached JBH timepackages/@webex/plugin-meetings/src/meeting/index.ts (3)
126-126
: Ensure constant naming follows UPPERCASE_UNDERSCORE conventionThe constant
JOIN_ERROR_REASN_FOR_END_USER
has a typo - it's missing the "O" in "REASON". Consider renaming toJOIN_ERROR_REASON_FOR_END_USER
for clarity and consistency.- JOIN_ERROR_REASN_FOR_END_USER, + JOIN_ERROR_REASON_FOR_END_USER,
1795-1804
: Consider adding error message details to the JoinMeetingErrorCurrently, the JoinMeetingError is thrown without any specific details about the error. Consider passing the error message or code to provide more context to the caller.
- throw new JoinMeetingError(); + throw new JoinMeetingError(`User has not reached JBH time (Error code: ${err.wbxAppApiCode})`);🧰 Tools
🪛 GitHub Actions: JudyZhuHz is running Pull Request CI
[error] 1796-1796: error TS2339: Property 'JOIN_ERROR_REASN_FOR_END_USER' does not exist on type '{ NONE: string; WRONG_PASSWORD: string; WRONG_CAPTCHA: string; POLICY: string; WEBINAR_REGISTRATION: string; NEED_JOIN_WITH_WEBCAST: string; WEBINAR_NEED_REGISTRATIONID: string; NOT_REACH_JBH: string; OTHER: string; }'.
127-127
: Consider adding unit tests for the new error handling logicThis pull request adds new error handling functionality, but it's not clear if there are corresponding test updates. Consider adding tests to verify that when a 403003 error is encountered, the appropriate JoinMeetingError is thrown with the correct meeting info and failure reason.
Would you like me to help you create a unit test for this new functionality?
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
packages/@webex/plugin-meetings/src/constants.ts
(2 hunks)packages/@webex/plugin-meetings/src/meeting/index.ts
(3 hunks)packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js
(2 hunks)
🧰 Additional context used
🪛 GitHub Actions: JudyZhuHz is running Pull Request CI
packages/@webex/plugin-meetings/src/meeting/index.ts
[error] 1796-1796: error TS2339: Property 'JOIN_ERROR_REASN_FOR_END_USER' does not exist on type '{ NONE: string; WRONG_PASSWORD: string; WRONG_CAPTCHA: string; POLICY: string; WEBINAR_REGISTRATION: string; NEED_JOIN_WITH_WEBCAST: string; WEBINAR_NEED_REGISTRATIONID: string; NOT_REACH_JBH: string; OTHER: string; }'.
🔇 Additional comments (4)
packages/@webex/plugin-meetings/src/meeting/index.ts (2)
166-166
: LGTM - Good practice importing the JoinMeetingError classThe import for the new error class is properly placed with the other error imports.
1795-1804
:✅ Verification successful
Verify implementation handles all target error cases correctly
This code assumes that
JOIN_ERROR_REASN_FOR_END_USER
is an array containing error code 403003, but we should verify this implementation against the requirements in SPARK-623318 to ensure all targeted error cases are properly covered.
🏁 Script executed:
#!/bin/bash # Check constants.ts to verify JOIN_ERROR_REASN_FOR_END_USER is properly defined echo "Checking constants.ts file to verify JOIN_ERROR_REASN_FOR_END_USER definition:" rg "JOIN_ERROR_REASN_FOR_END_USER" "packages/@webex/plugin-meetings/src/constants.ts" # Check if JoinMeetingError is properly implemented echo "Checking JoinMeetingError implementation:" cat "packages/@webex/plugin-meetings/src/common/errors/join-meeting.ts"Length of output: 1268
Review Verification: Join Meeting Error Handling Correct
I verified that:
JOIN_ERROR_REASN_FOR_END_USER
is defined inpackages/@webex/plugin-meetings/src/constants.ts
as[403003]
, matching the intended design.- The error handling in
packages/@webex/plugin-meetings/src/meeting/index.ts
correctly checkserr.wbxAppApiCode
against this array, sets the failure reason and code, and conditionally assignsmeetingInfo
before throwing a properly implementedJoinMeetingError
.- The
JoinMeetingError
inpackages/@webex/plugin-meetings/src/common/errors/join-meeting.ts
is implemented as expected according to the error dictionary.No further changes are necessary, and the implementation fully covers the targeted error case as outlined in SPARK-623318.
🧰 Tools
🪛 GitHub Actions: JudyZhuHz is running Pull Request CI
[error] 1796-1796: error TS2339: Property 'JOIN_ERROR_REASN_FOR_END_USER' does not exist on type '{ NONE: string; WRONG_PASSWORD: string; WRONG_CAPTCHA: string; POLICY: string; WEBINAR_REGISTRATION: string; NEED_JOIN_WITH_WEBCAST: string; WEBINAR_NEED_REGISTRATIONID: string; NOT_REACH_JBH: string; OTHER: string; }'.
packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js (2)
117-117
: LGTM: Imported the new JoinMeetingError class correctly.The import statement correctly adds the necessary error class that will be used in the new test case.
6343-6373
: Successfully implemented test case for the JBH error scenario.This test case properly validates the new behavior when a user tries to join a meeting before the host has joined. The code:
- Sets up a meeting with appropriate destination properties
- Configures the meetingInfoProvider to throw a MeetingInfoV2PasswordError with code 403003 (JBH error)
- Verifies that fetchMeetingInfo rejects with the newly imported JoinMeetingError
- Ensures the meeting state is correctly updated, particularly setting meetingInfoFailureReason to JOIN_ERROR_REASN_FOR_END_USER
The test is well-structured and aligns perfectly with the PR objective to return appropriate error information when a user cannot join because the host hasn't joined yet.
@@ -1790,6 +1792,17 @@ export default class Meeting extends StatelessWebexPlugin { | |||
`Meeting:index#fetchMeetingInfo --> Info Unable to fetch meeting info for ${this.destination} - password required (code=${err?.body?.code}).` | |||
); | |||
|
|||
if (JOIN_ERROR_REASN_FOR_END_USER.includes(err.wbxAppApiCode)) { | |||
this.meetingInfoFailureReason = MEETING_INFO_FAILURE_REASON.JOIN_ERROR_REASN_FOR_END_USER; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Ensure consistency with existing MEETING_INFO_FAILURE_REASON constants
Make sure MEETING_INFO_FAILURE_REASON.JOIN_ERROR_REASN_FOR_END_USER
is properly defined in the constants file with a similar naming pattern to other failure reasons.
🏁 Script executed:
#!/bin/bash
# Check the structure of MEETING_INFO_FAILURE_REASON in constants.ts
echo "Checking MEETING_INFO_FAILURE_REASON structure in constants.ts:"
rg "MEETING_INFO_FAILURE_REASON" "packages/@webex/plugin-meetings/src/constants.ts" -A 15
Length of output: 1141
Review Comment: Missing and Inconsistently Named Constant
It appears that the constant MEETING_INFO_FAILURE_REASON.JOIN_ERROR_REASN_FOR_END_USER
referenced in packages/@webex/plugin-meetings/src/meeting/index.ts
is not defined in the constants file (packages/@webex/plugin-meetings/src/constants.ts
). Please ensure that you do one of the following:
- Define the missing constant: Add
JOIN_ERROR_REASN_FOR_END_USER
to theMEETING_INFO_FAILURE_REASON
object in the constants file using a naming pattern consistent with other keys. - Review naming consistency: Confirm if the constant name is intended as written or if it should be corrected to something like
JOIN_ERROR_REASON_FOR_END_USER
to align with established naming conventions.
Please address this to ensure consistent and error-free usage across the codebase.
🧰 Tools
🪛 GitHub Actions: JudyZhuHz is running Pull Request CI
[error] 1796-1796: error TS2339: Property 'JOIN_ERROR_REASN_FOR_END_USER' does not exist on type '{ NONE: string; WRONG_PASSWORD: string; WRONG_CAPTCHA: string; POLICY: string; WEBINAR_REGISTRATION: string; NEED_JOIN_WITH_WEBCAST: string; WEBINAR_NEED_REGISTRATIONID: string; NOT_REACH_JBH: string; OTHER: string; }'.
if (JOIN_ERROR_REASN_FOR_END_USER.includes(err.wbxAppApiCode)) { | ||
this.meetingInfoFailureReason = MEETING_INFO_FAILURE_REASON.JOIN_ERROR_REASN_FOR_END_USER; | ||
this.meetingInfoFailureCode = err.wbxAppApiCode; | ||
|
||
if (err.meetingInfo) { | ||
this.meetingInfo = err.meetingInfo; | ||
} | ||
|
||
throw new JoinMeetingError(); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix TypeScript error by ensuring constant is properly defined in constants.ts
The pipeline failure indicates that JOIN_ERROR_REASN_FOR_END_USER
is not properly defined on the type for MEETING_INFO_FAILURE_REASON
. You need to ensure this property is added to the constants file and properly typed.
Also, consider adding a descriptive comment explaining what error code 403003 represents (e.g., "not reached JBH time") to make the code more maintainable.
if (JOIN_ERROR_REASN_FOR_END_USER.includes(err.wbxAppApiCode)) {
+ // Handle the case where user hasn't reached Join Before Host (JBH) time (error code 403003)
this.meetingInfoFailureReason = MEETING_INFO_FAILURE_REASON.JOIN_ERROR_REASN_FOR_END_USER;
this.meetingInfoFailureCode = err.wbxAppApiCode;
if (err.meetingInfo) {
this.meetingInfo = err.meetingInfo;
}
throw new JoinMeetingError();
}
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
if (JOIN_ERROR_REASN_FOR_END_USER.includes(err.wbxAppApiCode)) { | |
this.meetingInfoFailureReason = MEETING_INFO_FAILURE_REASON.JOIN_ERROR_REASN_FOR_END_USER; | |
this.meetingInfoFailureCode = err.wbxAppApiCode; | |
if (err.meetingInfo) { | |
this.meetingInfo = err.meetingInfo; | |
} | |
throw new JoinMeetingError(); | |
} | |
if (JOIN_ERROR_REASN_FOR_END_USER.includes(err.wbxAppApiCode)) { | |
// Handle the case where user hasn't reached Join Before Host (JBH) time (error code 403003) | |
this.meetingInfoFailureReason = MEETING_INFO_FAILURE_REASON.JOIN_ERROR_REASN_FOR_END_USER; | |
this.meetingInfoFailureCode = err.wbxAppApiCode; | |
if (err.meetingInfo) { | |
this.meetingInfo = err.meetingInfo; | |
} | |
throw new JoinMeetingError(); | |
} |
🧰 Tools
🪛 GitHub Actions: JudyZhuHz is running Pull Request CI
[error] 1796-1796: error TS2339: Property 'JOIN_ERROR_REASN_FOR_END_USER' does not exist on type '{ NONE: string; WRONG_PASSWORD: string; WRONG_CAPTCHA: string; POLICY: string; WEBINAR_REGISTRATION: string; NEED_JOIN_WITH_WEBCAST: string; WEBINAR_NEED_REGISTRATIONID: string; NOT_REACH_JBH: string; OTHER: string; }'.
…ng since not reach JBH
7e88c9a
to
fcbe4ae
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
♻️ Duplicate comments (1)
packages/@webex/plugin-meetings/src/meeting/index.ts (1)
126-126
:⚠️ Potential issueVariable name contains a typo
The variable name
JOIN_ERROR_REASN_FOR_END_USER
contains a typo - "REASN" instead of "REASON". This typo is consistent with the TypeScript error reported in pipeline failures.- JOIN_ERROR_REASN_FOR_END_USER, + JOIN_ERROR_REASON_FOR_END_USER,
🧹 Nitpick comments (1)
packages/@webex/plugin-meetings/src/meeting/index.ts (1)
1795-1796
: Consider using a more efficient data structure for error code checkingThe current implementation checks if an error code is included in an array with
JOIN_ERROR_REASN_FOR_END_USER.includes(err.wbxAppApiCode)
. If this array contains many error codes, this could be inefficient. Consider using a Set for O(1) lookups if performance becomes a concern in the future.- if (JOIN_ERROR_REASN_FOR_END_USER.includes(err.wbxAppApiCode)) { + // Use Set.has() for more efficient lookup if the array contains many codes + if (JOIN_ERROR_REASON_FOR_END_USER_SET.has(err.wbxAppApiCode)) {For this change to work, you would need to define a Set in constants.ts:
export const JOIN_ERROR_REASON_FOR_END_USER = [403003]; export const JOIN_ERROR_REASON_FOR_END_USER_SET = new Set(JOIN_ERROR_REASON_FOR_END_USER);
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
packages/@webex/plugin-meetings/src/meeting/index.ts
(3 hunks)packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js
(2 hunks)
🧰 Additional context used
🪛 Biome (1.9.4)
packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js
[error] 119-119: Don't focus the test.
The 'only' method is often used for debugging or during implementation. It should be removed before deploying to production.
Consider removing 'only' to ensure all tests are executed.
Unsafe fix: Remove focus from test.
(lint/suspicious/noFocusedTests)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: Build Packages
- GitHub Check: AWS Amplify Console Web Preview
🔇 Additional comments (6)
packages/@webex/plugin-meetings/src/meeting/index.ts (3)
166-166
: LGTM: Appropriate error import for the new error handling caseGood addition importing the
JoinMeetingError
class that will be used for the new error case.
1795-1804
:✅ Verification successful
Verify the proper constant name in constants.ts file
The TypeScript error in the pipeline failures indicates that
JOIN_ERROR_REASN_FOR_END_USER
is not properly defined on the type forMEETING_INFO_FAILURE_REASON
. Make sure the constant is correctly defined in the constants file and consistently used throughout the codebase.
🏁 Script executed:
#!/bin/bash # Find the definition of the constant in the constants.ts file echo "Checking for JOIN_ERROR_REASN_FOR_END_USER in constants.ts:" rg "JOIN_ERROR_REASN_FOR_END_USER" packages/@webex/plugin-meetings/src/constants.ts echo -e "\nChecking for any similar constant names that might be the correct one:" rg -i "JOIN_ERROR.*END_USER" packages/@webex/plugin-meetings/src/constants.ts echo -e "\nChecking if NOT_REACH_JBH is defined in MEETING_INFO_FAILURE_REASON:" rg "NOT_REACH_JBH" packages/@webex/plugin-meetings/src/constants.ts -A 2 -B 2Length of output: 1118
Action: Confirm constant definitions and review type expectations
- Verified that
JOIN_ERROR_REASN_FOR_END_USER
is correctly defined inpackages/@webex/plugin-meetings/src/constants.ts
as[403003]
.- Confirmed that the
MEETING_INFO_FAILURE_REASON
object includes theNOT_REACH_JBH
key as expected.It appears there is no naming discrepancy with the constants. If the TypeScript error persists in the pipeline, please double-check that the type definitions for
MEETING_INFO_FAILURE_REASON
are properly aligned with its usage in the code.
1795-1804
:✅ Verification successful
Verify error code handling in other places
Check if the 403003 error code is handled consistently elsewhere in the codebase. This helps ensure the error handling approach is uniform throughout the application.
🏁 Script executed:
#!/bin/bash # Look for other handling of 403003 error code in the codebase echo "Checking for other occurrences of 403003 error code handling:" rg "403003" packages/@webex/plugin-meetings/ echo -e "\nChecking for other places that use JoinMeetingError:" rg "JoinMeetingError" packages/@webex/plugin-meetings/Length of output: 1885
Error Code 403003 Handling Consistency Verified
- Confirmed that the 403003 error code is defined in
packages/@webex/plugin-meetings/src/constants.ts
(viaJOIN_ERROR_REASN_FOR_END_USER
).- Verified that in
packages/@webex/plugin-meetings/src/meeting/index.ts
, whenerr.wbxAppApiCode
equals 403003, the code updates the meeting failure reason/code appropriately before throwing aJoinMeetingError
.- Found unit tests in
packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js
that validate the meeting failure code is set to 403003 and the appropriate error is thrown.Overall, the handling of the 403003 error code is consistent across the codebase.
packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js (3)
117-117
: LGTM! JoinMeetingError import matches the error handling enhancement.This import supports the new error handling path for JBH (Join Before Host) error case.
6343-6373
: Correct implementation of the error handling for JBH errors.This test case properly verifies that when a 403003 error code is encountered, the system:
- Throws a
JoinMeetingError
instead of other error types- Sets the appropriate meeting info failure code and reason
- Updates the meeting information properties
This aligns with the PR objective to enhance error handling for Webex Meetings plugin.
6366-6373
:✅ Verification successful
Verify the correct failure reason constant is used.
Ensure that
MEETING_INFO_FAILURE_REASON.NOT_REACH_JBH
has been properly defined in the constants.ts file as mentioned in the PR summary. This test correctly verifies that the right failure reason is assigned.
🏁 Script executed:
#!/bin/bash # Check if the NOT_REACH_JBH constant is defined in the constants file grep -r "NOT_REACH_JBH" --include="*.ts" packages/@webex/plugin-meetings/src/Length of output: 357
Constant definition verified
The constant
MEETING_INFO_FAILURE_REASON.NOT_REACH_JBH
is correctly defined inpackages/@webex/plugin-meetings/src/constants.ts
and is used correctly in the meeting implementation. The test inpackages/@webex/plugin-meetings/test/unit/spec/meeting/index.js
properly verifies that the meeting failure reason is as expected.
packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js
Outdated
Show resolved
Hide resolved
This pull request is automatically being deployed by Amplify Hosting (learn more). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
packages/@webex/plugin-meetings/src/meeting/index.ts (1)
126-126
:⚠️ Potential issueFix the typo in the constant name
The constant name contains a typo - "REASN" is missing an "O" and should be "REASON".
- JOIN_ERROR_REASN_FOR_END_USER, + JOIN_ERROR_REASON_FOR_END_USER,This issue was identified in previous review comments and is causing a TypeScript error in the build pipeline.
🧹 Nitpick comments (1)
packages/@webex/plugin-meetings/src/meeting/index.ts (1)
1797-1797
: Consider using a more specific failure reason constant nameThe constant
NOT_REACH_JBH
is used for the failure reason, which is reasonable but could be more descriptive.Consider using a more explicit name like
JOIN_BEFORE_HOST_TIME
orHOST_NOT_JOINED_YET
to make the error reason more immediately clear to developers.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
packages/@webex/plugin-meetings/src/meeting/index.ts
(3 hunks)packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js
(2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Build Packages
🔇 Additional comments (5)
packages/@webex/plugin-meetings/src/meeting/index.ts (3)
1795-1805
: Good implementation with appropriate error handling for JBH caseThe code properly handles the case where a user attempts to join a meeting before the Join Before Host (JBH) time. The implementation follows the established pattern for error handling in this method, setting the appropriate failure reason, storing the error code, preserving meeting info, and throwing the custom error.
However, there's a critical issue with the constant name reference:
- if (JOIN_ERROR_REASN_FOR_END_USER.includes(err.wbxAppApiCode)) { + if (JOIN_ERROR_REASON_FOR_END_USER.includes(err.wbxAppApiCode)) {This needs to be fixed to match the corrected constant name that I suggested above.
166-166
: Good addition of the JoinMeetingError importThe import for the JoinMeetingError class has been correctly added, which is used to throw the appropriate error when a user tries to join before the JBH time.
1796-1804
:✅ Verification successful
Verify error code handling is comprehensive
The implementation relies on checking a single error code (403003) through the
JOIN_ERROR_REASON_FOR_END_USER
array.Please verify there aren't other error codes that could represent the same "not reach JBH" condition:
🏁 Script executed:
#!/bin/bash # Search for other potential JBH-related error codes in the codebase echo "Searching for JBH or 'Join Before Host' related error codes:" rg -i "join before host|jbh" --type ts --glob "!**/node_modules/**" --glob "!**/dist/**" echo "Checking if there are other 403xxx error codes defined:" rg "403\d{3}" --type ts --glob "!**/node_modules/**" --glob "!**/dist/**"Length of output: 7948
Revisit Error Code Handling for JBH
- The code exclusively checks error code 403003 via the
JOIN_ERROR_REASN_FOR_END_USER
array.- Our search for "join before host" and additional
403xxx
codes revealed no other errors representing the "not reached JBH" condition.- Based on this verification, the current error handling is comprehensive.
packages/@webex/plugin-meetings/test/unit/spec/meeting/index.js (2)
117-117
: Added missing import for error handling.The addition of this import is related to the new error handling for "Join Before Host" (JBH) server connection failures.
6343-6373
: Added test for handling JBH server connection failures.This test verifies the proper handling of error code 403003 when the meetingInfoProvider fails to reach the Join Before Host (JBH) server. The test ensures that:
- The method rejects with a
JoinMeetingError
- The meetingInfo is properly set
- The meetingInfoFailureCode is set to 403003
- The meetingInfoFailureReason is correctly set to
MEETING_INFO_FAILURE_REASON.NOT_REACH_JBH
- The requiredCaptcha is properly set to null
This is a well-structured test that validates the new error handling path.
…ng since not reach JBH
COMPLETES #< INSERT LINK TO ISSUE >
https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-623318
This pull request addresses
< DESCRIBE THE CONTEXT OF THE ISSUE >
Return failure reason as JOIN_ERROR_REASN_FOR_END_USER when meet 403003(not reach JBH time) error
by making the following changes
< DESCRIBE YOUR CHANGES >
Add new failed reason for 403 error.
Testing in local env, it's works
Change Type
The following scenarios were tested
< ENUMERATE TESTS PERFORMED, WHETHER MANUAL OR AUTOMATED >
I certified that
I have read and followed contributing guidelines
I discussed changes with code owners prior to submitting this pull request
I have not skipped any automated checks
All existing and new tests passed
I have updated the documentation accordingly
Make sure to have followed the contributing guidelines before submitting.