Skip to content

Update 'Azure MFA' to 'Microsoft Entra MFA' in UI (#17970) #40

Update 'Azure MFA' to 'Microsoft Entra MFA' in UI (#17970)

Update 'Azure MFA' to 'Microsoft Entra MFA' in UI (#17970) #40

GitHub Actions / Unit Test Report succeeded Aug 8, 2024 in 1s

273 passed, 0 failed and 0 skipped

Tests passed successfully

✅ ./test-reports/test-results-ext.xml

273 tests were completed in NaNms with 273 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Azure Controller Tests 5✅ 5ms
Azure SQL client 2✅ 13ms
Code Adapter Tests 6✅ 29ms
Config Tests 1✅ 1ms
Connection Profile tests 9✅ 58ms
Connection UI tests 14✅ 80ms
ConnectionCredentials Tests 9✅ 20ms
Credential Store Tests 3✅ 5ms
ExtConfig Tests 8✅ 63ms
Firewall Service Tests 2✅ 5ms
Initialization Tests 1✅ 1ms
Input Prompt Tests 4✅ 4ms
Language Service Tests Decompress Provider Tests 1✅ 1ms
Language Service Tests HttpClient Tests 1✅ 1ms
List Prompt Tests 2✅ 2ms
Localization Tests 3✅ 5ms
MainController Tests 12✅ 89ms
Metadata Service Tests 1✅ 12ms
Object Explorer Node Types Test 5✅ 4ms
Object Explorer Provider Tests 13✅ 83ms
Object Explorer Utils Tests 5✅ 7ms
Per File Connection Tests 12✅ 118ms
Platform Tests 20✅ 36ms
Prompts test 8✅ 7ms
Query Runner tests 13✅ 25ms
Query Runner tests Copy Tests 6✅ 19ms
Query Runner tests Copy Tests with multiple selections 4✅ 13ms
QueryNotificationHandler tests 3✅ 10ms
save results tests 10✅ 67ms
Scripting Service Tests 7✅ 28ms
Server Status View Tests 4✅ 306ms
Server tests 6✅ 9ms
Service Client tests 6✅ 3ms
ServiceDownloadProvider Tests 8✅ 14ms
SqlOutputProvider Tests using mocks 16✅ 46ms
Status View Tests 5✅ 3ms
Stub Logger tests 5✅ 3ms
Stub Status View tests 4✅ 4ms
Test Checkbox prompt 3✅ 5ms
Test Confirm Prompt 2✅ 0ms
Test Expand Prompt 4✅ 2ms
Test Service Installer Util functions 2✅ 13ms
UntitledSqlDocumentService Tests 1✅ 1ms
Utility tests - getSignInQuickPickItems 3✅ 2ms
Utility Tests - isSameConnection 5✅ 3ms
Utility Tests - parseNumAsTimeString 1✅ 0ms
Utility Tests - parseTimeString 4✅ 2ms
Utility tests - Timer Class 2✅ 1ms
Webview Panel Controller Tests 2✅ 5ms

✅ Azure Controller Tests

Azure Controller Tests
  ✅ isTokenInValid should return true for undefined token
  ✅ isTokenInValid should return true for empty token
  ✅ isTokenInValid should return true for undefined expiresOn
  ✅ isTokenInValid should return true for expired token
  ✅ isTokenInValid should return false for valid token

✅ Azure SQL client

Azure SQL client
  ✅ Should return locations successfully
  ✅ Should return resource groups successfully

✅ Code Adapter Tests

Code Adapter Tests
  ✅ logError should append message to the channel
  ✅ log should format message and append to the channel
  ✅ clearLog should clear from output channel
  ✅ showLog should show the output channel
  ✅ promptSingle and promptCallback should call prompt
  ✅ prompting a checkbox question should call fixQuestion

✅ Config Tests

Config Tests
  ✅ getSqlToolsServiceDownloadUrl should return valid value

✅ Connection Profile tests

Connection Profile tests
  ✅ CreateProfile should ask questions in correct order
  ✅ CreateProfile - SqlPassword should be default auth type
  ✅ CreateProfile - Integrated auth support
  ✅ Port number is applied to server name when connection credentials are transformed into details
  ✅ All connection details properties can be set from connection credentials
  ✅ Profile is connected to and validated prior to saving
  ✅ Updated Profile is returned when SSL error occurs
  ✅ Profile is not saved when connection validation fails
  ✅ Profile can be created from a connection string

✅ Connection UI tests

Connection UI tests
  ✅ showConnectionErrors should show errors in the output channel
  ✅ showConnections with recent and new connection
  ✅ showConnections with recent and edit connection
  ✅ showConnections with recent but no selection
  ✅ promptLanguageFlavor should prompt for a language flavor
  ✅ promptToCancelConnection should prompt for cancellation
  ✅ promptForPassword should prompt for password
  ✅ promptToChangeLanguageMode should prompt for language mode - selection
  ✅ promptToChangeLanguageMode should prompt for language mode - no selection
  ✅ removeProfile should prompt for a profile and remove it
  ✅ removeProfile should show error if there are no profiles to remove
  ✅ promptToManageProfiles should prompt to manage profile
  ✅ promptForRetryCreateProfile should show an error message and create profile
  ✅ createProfileWithDifferentCredentials should prompt to recreate connection

✅ ConnectionCredentials Tests

ConnectionCredentials Tests
  ✅ ensureRequiredPropertiesSet should remove password from plain text and save password to Credential Store
  ✅ ensureRequiredPropertiesSet should keep Credential Store password
  ✅ ensureRequiredPropertiesSet should not save password
  ✅ ensureRequiredPropertiesSet should not save password, empty password case
  ✅ ensureRequiredPropertiesSet should request password and save it for non-empty passwords
  ✅ ensureRequiredPropertiesSet should request password and save it correctly for empty passswords
  ✅ createConnectionDetails sets properties in addition to the connection string
  ✅ Subsequent connection credential questions are skipped if a connection string is given
  ✅ Server question properly handles connection strings

✅ Credential Store Tests

Credential Store Tests
  ✅ Read credential should send a ReadCredentialRequest
  ✅ Save credential should send a SaveCredentialRequest
  ✅ Delete credential should send a DeleteCredentialRequest

✅ ExtConfig Tests

ExtConfig Tests
  ✅ getSqlToolsServiceDownloadUrl should return value from extension config first
  ✅ getSqlToolsServiceDownloadUrl should return value from config.json if not exit in extension config
  ✅ getSqlToolsConfigValue should return value from extension config first
  ✅ getSqlToolsConfigValue should return value from config.json if not exit in extension config
  ✅ getExtensionConfig should return value from extension config
  ✅ getExtensionConfig should return the default value if the extension does not have the config
  ✅ getWorkspaceConfig should return value from workspace config
  ✅ getWorkspaceConfig should return the default value if the workspace does not have the config

✅ Firewall Service Tests

Firewall Service Tests
  ✅ Handle Firewall Rule test
  ✅ Create Firewall Rule Test

✅ Initialization Tests

Initialization Tests
  ✅ Connection manager is initialized properly

✅ Input Prompt Tests

Input Prompt Tests
  ✅ Test list prompt render simple question
  ✅ Test prompt an error question should throw
  ✅ Test prompt question with default message
  ✅ Test prompt question with validation error

✅ Language Service Tests Decompress Provider Tests

Language Service Tests Decompress Provider Tests
  ✅ Decompress package test

✅ Language Service Tests HttpClient Tests

Language Service Tests HttpClient Tests
  ✅ handleDataReceivedEvent test

✅ List Prompt Tests

List Prompt Tests
  ✅ Test list prompt render
  ✅ Test list prompt render with error

✅ Localization Tests

Localization Tests
  ✅ Default Localization Test
  ✅ EN Localization Test
  ✅ ES Localization Test

✅ MainController Tests

MainController Tests
  ✅ onDidCloseTextDocument should propogate onDidCloseTextDocument to connectionManager
  ✅ onDidCloseTextDocument should call untitledDoc function when an untitled file is saved
  ✅ onDidCloseTextDocument should call renamedDoc function when rename occurs
  ✅ onDidCloseTextDocument should propogate to the connectionManager even if a special event occured before it
  ✅ onDidOpenTextDocument should propogate the function to the connectionManager
  ✅ onDidSaveTextDocument should propogate the function to the connectionManager
  ✅ TextDocument Events should handle non-initialized connection manager
  ✅ onNewQuery should call the new query and new connection
  ✅ onNewQuery should not call the new connection if new query fails
  ✅ validateTextDocumentHasFocus returns false if there is no active text document
  ✅ validateTextDocumentHasFocus returns true if there is an active text document
  ✅ onManageProfiles should call the connetion manager to manage profiles

✅ Metadata Service Tests

Metadata Service Tests
  ✅ Test getMetadata function

✅ Object Explorer Node Types Test

Object Explorer Node Types Test
  ✅ Test Add Connection Tree Node
  ✅ Test Account Sign In Tree Node
  ✅ Test Connect Tree Node
  ✅ Test getters and setters for Tree Node
  ✅ Test fromNodeInfo function

✅ Object Explorer Provider Tests

Object Explorer Provider Tests
  ✅ Test Create Session
  ✅ Test Refresh Node
  ✅ Test Connection Credentials
  ✅ Test remove Object Explorer node
  ✅ Test Get Children from Object Explorer Provider
  ✅ Test server nodes sorting mechanism
  ✅ Test expandNode function
  ✅ Test signInNode function
  ✅ Test updateNode function
  ✅ Test removeConnectionNodes function
  ✅ Test addDisconnectedNode function
  ✅ Test currentNode getter
  ✅ Test rootNodeConnections getter

✅ Object Explorer Utils Tests

Object Explorer Utils Tests
  ✅ Test iconPath function
  ✅ Test getNodeUri function
  ✅ Test getNodeUriFromProfile
  ✅ Test getDatabaseName
  ✅ Test isFirewallError

✅ Per File Connection Tests

Per File Connection Tests
  ✅ onNewConnection should ask user for different credentials if connection failed because of invalid credentials
  ✅ onNewConnection only prompt user for new credentials onces even if the connection fails again
  ✅ Can create two separate connections for two files
  ✅ Can disconnect one file while another file stays connected
  ✅ Can disconnect and reconnect one file while another file stays connected
  ✅ Can list databases on server used by current connection and switch databases
  ✅ Can disconnect instead of switching databases
  ✅ Prompts for new connection before running query if disconnected
  ✅ Change connection notification changes database context
  ✅ Should use actual database name instead of <default>
  ✅ Should save new connections to recently used list
  ✅ Status view shows updating intellisense after connecting and disappears after intellisense is updated

✅ Platform Tests

Platform Tests
  ✅ getCurrentPlatform should return valid value
  ✅ Retrieve correct information for Ubuntu 14.04
  ✅ Retrieve correct information for Ubuntu 14.04 with quotes
  ✅ Retrieve correct information for Fedora 23
  ✅ Retrieve correct information for Debian 8
  ✅ Retrieve correct information for CentOS 7
  ✅ Compute correct RID for Windows 64-bit
  ✅ Compute correct RID for Windows 86-bit
  ✅ Compute correct RID for Windows ARM 64-bit
  ✅ Compute no RID for Windows with bad architecture
  ✅ Compute correct RID for MacOS Intel
  ✅ Compute correct RID for MacOS ARM
  ✅ Compute no RID for OSX with 32-bit architecture
  ✅ Compute correct RID for Ubuntu 14.04
  ✅ Compute correct RID for Fedora 23
  ✅ Compute correct RID for Debian 8
  ✅ Compute correct RID for CentOS 7
  ✅ Compute correct RID for KDE neon
  ✅ Compute no RID for CentOS 7 with 32-bit architecture
  ✅ Compute default (Ubuntu_16) RID for fake distro with no ID_LIKE

✅ Prompts test

Prompts test
  ✅ Test string prompt
  ✅ Test input prompt
  ✅ Test password prompt
  ✅ Test list prompt
  ✅ Test confirm prompt
  ✅ Test checkbox prompt
  ✅ Test expand prompt
  ✅ Test bogus prompt

✅ Query Runner tests

Query Runner tests
  ✅ Constructs properly
  ✅ Handles Query Request Result Properly
  ✅ Handles Query Request Error Properly
  ✅ Notification - Batch Start
  ✅ Notification - Batch Complete no message
  ✅ Notification - Batch Complete with message
  ✅ Notification - ResultSet Complete w/no previous results
  ✅ Notification - ResultSet complete w/previous results
  ✅ Notification - Message
  ✅ Notification - Query complete
  ✅ Correctly handles subset
  ✅ Correctly handles error from subset request
  ✅ Toggle SQLCMD Mode sends request

✅ Query Runner tests Copy Tests

Query Runner tests Copy Tests
  ✅ Correctly copy pastes a selection
  ✅ Copies selection with column headers set in user config
  ✅ Copies selection with headers when true passed as parameter
  ✅ Copies selection without headers when false passed as parameter
  ✅ SetEditorSelection uses an existing editor if it is visible
  ✅ SetEditorSelection uses column 1 by default

✅ Query Runner tests Copy Tests with multiple selections

Query Runner tests Copy Tests with multiple selections
  ✅ Correctly copy pastes a selection
  ✅ Copies selection with column headers set in user config
  ✅ Copies selection with headers when true passed as parameter
  ✅ Copies selection without headers when false passed as parameter

✅ QueryNotificationHandler tests

QueryNotificationHandler tests
  ✅ QueryNotificationHandler handles registerRunner at the beginning of the event flow
  ✅ QueryNotificationHandler handles registerRunner in the middle of the event flow
  ✅ QueryNotificationHandler handles registerRunner at the end of the event flow

✅ save results tests

save results tests
  ✅ check if filepath prompt displays and right value is set
  ✅ Save as CSV - test if information message is displayed on success
  ✅ Save as CSV - test if error message is displayed on failure to save
  ✅ Save as JSON - test if information message is displayed on success
  ✅ Save as JSON - test if error message is displayed on failure to save
  ✅ Save as Excel - test if information message is displayed on success
  ✅ Save as Excel - test if error message is displayed on failure to save
  ✅ Save as with selection - test if selected range is passed in parameters
  ✅ Save as with selection - test case when right click on single cell - no selection is set in parameters
  ✅ canceling out of save file dialog cancels serialization

✅ Scripting Service Tests

Scripting Service Tests
  ✅ Test Get Object From Node function
  ✅ Test Create Scripting Params
  ✅ Test Script Select function
  ✅ Test Script Create function
  ✅ Test Script Execute function
  ✅ Test Script Drop function
  ✅ Test Script Alter function

✅ Server Status View Tests

Server Status View Tests
  ✅ Test installing service status
  ✅ Test update service download progress status
  ✅ Test service installed status
  ✅ Test service installation failed status

✅ Server tests

Server tests
  ✅ findServerPath should return error given a folder with no installed service
  ✅ findServerPath should return the file path given a file that exists
  ✅ findServerPath should not return the given file path if does not exist
  ✅ findServerPath should return a valid file path given a folder with installed service
  ✅ getOrDownloadServer should download the service if not exist and return the valid service file path
  ✅ getOrDownloadServer should not download the service if already exist

✅ Service Client tests

Service Client tests
  ✅ initializeForPlatform should not install the service if already exists
  ✅ initializeForPlatform should install the service if not exists
  ✅ initializeForPlatform should fail given unsupported platform
  ✅ initializeForPlatform should set v1 given mac 10.11 or lower
  ✅ initializeForPlatform should ignore service version given mac 10.12 or higher
  ✅ handleLanguageServiceStatusNotification should change the UI status

✅ ServiceDownloadProvider Tests

ServiceDownloadProvider Tests
  ✅ getInstallDirectory should return the exact value from config if the path is absolute
  ✅ getInstallDirectory should add the version to the path given the path with the version template key
  ✅ getInstallDirectory should add the platform to the path given the path with the platform template key
  ✅ getInstallDirectory should add the platform to the path given the path with the platform template key
  ✅ getDownloadFileName should return the expected file name given a runtime
  ✅ installSQLToolsService should download and decompress the service and update the status
  ✅ installSQLToolsService should not call decompress if download fails
  ✅ installSQLToolsService should not update status to installed decompress fails

✅ SqlOutputProvider Tests using mocks

SqlOutputProvider Tests using mocks
  ✅ Correctly outputs the new result pane view column
  ✅ RunQuery properly sets up two queries to be run
  ✅ RunQuery only sets up one uri with the same name
  ✅ onUntitledFileSaved should delete the untitled file and create a new titled file
  ✅ onDidCloseTextDocument properly mark the uri for deletion
  ✅ isRunningQuery should return the correct state for the query
  ✅ cancelQuery should cancel the execution of a query by result pane URI
  ✅ cancelQuery should cancel the execution of a query by SQL pane URI
  ✅ getQueryRunner should return the appropriate query runner
  ✅ cancelQuery with no query running should show information message about it
  ✅ getQueryRunner should return undefined for new URI
  ✅ toggleSqlCmd should do nothing if no queryRunner exists
  ✅ Test queryResultsMap getters and setters
  ✅ showErrorRequestHandler should call vscodeWrapper to show error message
  ✅ showWarningRequestHandler should call vscodeWrapper to show warning message
  ✅ A query runner should only exist if a query is run

✅ Status View Tests

Status View Tests
  ✅ updateStatusMessage should not immediately update status message for definition request
  ✅ updateStatusMessage should not update status message for definition request if already completed
  ✅ updateStatusMessage should update status message for definition request completed
  ✅ updateStatusMessage should update status message for updating intelliSense
  ✅ updateStatusMessage should update status message for intelliSense updated status

✅ Stub Logger tests

Stub Logger tests
  ✅ Test logdebug method
  ✅ Test increaseIndent method
  ✅ Test decreaseIndent method
  ✅ Test append method
  ✅ Test appendLine method

✅ Stub Status View tests

Stub Status View tests
  ✅ Test installing service method
  ✅ Test service installed method
  ✅ Test service installation failed method
  ✅ Test update service downloading progress method

✅ Test Checkbox prompt

Test Checkbox prompt
  ✅ Test checkbox prompt with simple question
  ✅ Test Checkbox prompt with error
  ✅ Test Checkbox prompt with checked answer

✅ Test Confirm Prompt

Test Confirm Prompt
  ✅ Test Confirm prompt with simple question
  ✅ Test Checkbox prompt with error

✅ Test Expand Prompt

Test Expand Prompt
  ✅ Test expand prompt with simple question
  ✅ Test expand prompt with error question
  ✅ Test expand prompt with quick pick item
  ✅ Test expand prompt with error quick pick item

✅ Test Service Installer Util functions

Test Service Installer Util functions
  ✅ Test getServiceInstallDirectoryRoot function
  ✅ Test installService function

✅ UntitledSqlDocumentService Tests

UntitledSqlDocumentService Tests
  ✅ newQuery should open a new untitled document and show in new tab

✅ Utility tests - getSignInQuickPickItems

Utility tests - getSignInQuickPickItems
  ✅ first quick pick item should be Azure Sign In
  ✅ second quick pick item should be Azure Sign In With Device Code
  ✅ third quick pick item should be Azure Sign In to Azure Cloud

✅ Utility Tests - isSameConnection

Utility Tests - isSameConnection
  ✅ should return true for matching non-connectionstring connections
  ✅ should return false for non-matching non-connectionstring connections
  ✅ should return true for matching connectionstring connections
  ✅ should return false for non-matching connectionstring connections
  ✅ should return false for connectionstring and non-connectionstring connections

✅ Utility Tests - parseNumAsTimeString

Utility Tests - parseNumAsTimeString
  ✅ returns the correct value

✅ Utility Tests - parseTimeString

Utility Tests - parseTimeString
  ✅ should return false if nothing passed
  ✅ should return false if input does not have only 1 period
  ✅ should return false if input does not have 2 :
  ✅ returns the correct value

✅ Utility tests - Timer Class

Utility tests - Timer Class
  ✅ timer should start when initiated
  ✅ timer should end when ended

✅ Webview Panel Controller Tests

Webview Panel Controller Tests
  ✅ Initializing a controller should create and open a new webview panel
  ✅ Closing the WebView Panel should dispose the webview