Commit Graph

110 Commits

Author SHA1 Message Date
Benjin Dubishar
9cce26fcbd Initial check-in of SqlProjects service addition to SqlToolsService (#1805)
* initial commit

* Initial SqlProjects service + tests

* Added SqlObject script tests; PR feedback

* Added comments for contracts

* Swapping SqlProjectResult for ResultStatus

* Updating tests

* Added automatic test base that provides a working directory and automatic cleanup.
2023-01-25 14:16:15 -08:00
Karl Burtram
3a5935df99 Revert "Update to latest .Net SDK 7.0 (#1760)" (#1763)
This reverts commit 71cda5bbdc.
2022-11-15 11:29:41 -08:00
Karl Burtram
71cda5bbdc Update to latest .Net SDK 7.0 (#1760)
* Bump to SDK 7.0 and related updates

* More net 7 updates

* Install SDK 2.0 for ESRP

* Fix typo

* Address comment and update integration test script

* Disable new warnings from SDK update
2022-11-14 20:24:25 -08:00
Cheena Malhotra
c0f8482e26 Update Microsoft.Data.SqlClient to v5.0.1 (#1708) 2022-10-24 20:10:04 -07:00
Charles Gagnon
e763d2463d Remove unused test server types (#1699)
* Remove unused test server types

* Don't use secure file

* Correct password
2022-09-16 16:58:06 -07:00
Charles Gagnon
5e0302a95f Output verbose logging during tests (#1698)
* Output verbose logging during tests

* fix compile
2022-09-16 16:57:06 -07:00
Charles Gagnon
019481e8db Use MemoryStream instead of stdout for outgoing messages during integration tests (#1696)
* filter

* test

* run all

* Redirect to memorystream

* revert temp changes
2022-09-16 15:38:53 -07:00
Cheena Malhotra
006ac60923 Upgrade solution to .NET 6.0.9 (Build with .NET SDK v6.0.401) (#1692) 2022-09-16 11:27:52 -07:00
Jordan Hays
c2b0e33c9c Update ledger object SubTypes so they can be utilized for context menu handling (#1677) 2022-09-08 12:24:36 -07:00
Jordan Hays
007e852f1a Add modifiable sort priority to OE nodes (#1627)
* modifiable sort priority, dropped ledger folders sorted to the bottom

* reorganizing dropped table and view objects in OE integration test

* update to Int32
2022-08-11 10:46:14 -07:00
Jordan Hays
87ea866df0 Dropped Ledger Views folder (#1626)
* adding dropped ledger views to the OE hierarchy with ledger view naming and icons

* updating tests
2022-08-10 14:01:28 -07:00
Jordan Hays
485786f49e Dropped Ledger Tables Folder (#1625)
* support and testing for Dropped Ledger Table folder

* appending DroppedLedgerTables nodetype

* fixing unit tests

* undoing string.Empty
2022-08-09 14:17:51 -07:00
Jordan Hays
d78ff94b31 Ledger Objects Representation in Object Explorer (#1615)
* support for ledger objects in OE

* generated sr files

* update versionKey to sql 2022 in test env config

* more 2019 to 2022 updates

* add sql2022 instead of replacing

* missed filter on table

* add logging

* more logging

* adding Script160Compat options for sql2022

Co-authored-by: Alan Ren <alanren@microsoft.com>
2022-08-05 10:53:17 -07:00
Charles Gagnon
70f7b16129 Test cleanup (#1588)
* Test cleanup

* fix compile

* Fix tests
2022-07-19 09:59:28 -07:00
Charles Gagnon
dd11be3d38 Consolidate to net6.0 (#1547)
* Add SqlClient event listener

* comments

* ensure not disposed early

* initial

* net6.0

* undo
2022-06-21 08:53:23 -07:00
Alan Ren
17b6073c87 include additional data for error object (#1539)
* include additional data for error

* fix tests
2022-06-10 20:40:22 -07:00
Charles Gagnon
3af029315b Fix bindings tests (#1488) 2022-05-10 11:09:45 -07:00
Nemanja Milovančević
881c335cdf Backup/Restore Managed Instance (#1428)
* Enabled backup to and restore from URL

* Created RPC, but when process tries to load Microsoft.Azure.Storage.Blob.dll, it crashes

* Added create shared access token

* Code refactor

* Minor changes

* Changed RPC path

* Moved createSas RPC to the newly created BlobService, fixed PR comments

* Added sas expiration date parameter to the RPC

* Added copyright headers

* Removed ConnectionInstance property from BlobService

* Removed unhelpful comment

* Removed unused using statements

* Changed copy/paste comments

* Disposable objects fix

* Small formatting fix

* Changed backup to/restore from url supported device types

* Added backup to url integration test

* Created restore integration test. Test are now getting azure blob params from env variables instead of file.

* Culture invariant epiration date param, fixed comment, and typo

* Updated headers

* PR comments fix

* Changed supported device type logic

* string localization fix

* String formatting fix

* build failure fix

* Typo

* Updated supported restore device types
2022-04-20 14:01:13 -07:00
Aasim Khan
cc63d866d7 Fixing integration tests for sts (#1453)
* Fixing test pipeline

* pwd

* fixing script

* fixing cwd

* switch to bash

* Cleaning up script and yml

* Fixing script comment

* Fixing the comments

* Adding issue in the comment

* Adding automatic password generator

* Removing unncesary use statement

* Fixing key

* Printing var

* Printing settings

* Printing var

* Fixed var

* Fixed

* Reverting some changes

* Changing fetch variable to upper case

* Fixing password logic

* Debug

* debug2

* debug

* Making passwords secret

* Fixing string null check

* removed dirs

* fixing var name

* Fixing var

* Printing  vars to see if the enviornment is setup correctly

* Printing versionkey

* removing prints

* Adding 2019 Instance key and updating template

* fixing env variable

* Fixing comment
2022-04-08 15:19:49 -07:00
Benjamin Russell
2ace786d95 Export headers in an empty result set (#1434)
* Minimal changes to make headers appear on empty result sets

* Columns for everyone!

* Updating tests - some don't pass yet

* Adding some more tests to verify the changes for column/row selection

* null default columns

* Updates to comments as per PR comments
2022-03-31 09:10:32 -07:00
Charles Gagnon
40c5d48c5e Fail build on unneeded usings (#1417) 2022-03-04 16:38:01 -08:00
Charles Gagnon
c248400a6c Add linting for copyright and unused usings (#1416)
* Add linting for copyright and unused usings

* Add one more + comment

* Enforce in build and fix errors

* Fix build
2022-03-04 15:17:29 -08:00
David Shiflet
839acf67cd Convert most tools service tests to nunit (#1037)
* Remove xunit dependency from testdriver

* swap expected/actual as needed

* Convert Test.Common to nunit

* port hosting unit tests to nunit

* port batchparser integration tests to nunit

* port testdriver.tests to nunit

* fix target to copy dependency

* port servicelayer unittests to nunit

* more unit test fixes

* port integration tests to nunit

* fix test method type

* try using latest windows build for PRs

* reduce test memory use
2020-08-05 13:43:14 -04:00
Soheil Alizadeh
887a499d2b Update Infrastructure (#961)
* Update form .NET Core 2.2 to .NET Core 3.1

- Global variable for projects
- Change TFMs from netcoreapp2.2 to netcoreapp3.1
- Update global.json
- Update build.json
- Remove direct framework cake TestCore task
- Update travis dotnet version
- Update azure pipline file
- Update vscode launch.json

* Add Central Package Management

* Fix xUnit Breaking Change for MemberData type

* Fix xUnit breaking change for duplicate test method name

* Fix Rang/Index type conflict with System.Rang/Index

* Update vscode tasks.json

* Change serviceHostExecutable path in ServiceTestDriver.cs

* Downgrade SDK version (https://github.com/appveyor/ci/issues/3440)

- Appveyor hasn't installed latest SDK therefore I downgrade it until they install it.

* Dump Microsoft.SqlServer.DACFx
2020-06-12 11:44:18 -07:00
Benjin Dubishar
c51a59dadf Adding SqlCmdVars support for DacFx Deploy (#971)
* Adding SqlCmdVars support for DacFx Deploy

* Adding SqlCmdVars support for GenerateDeployScript

* Consolidating test logic
2020-06-10 16:00:59 -07:00
Aleksei Guzev
1cb0b98148 Fix default test server names file path construction (#941)
FileUtils.TestServerNamesDefaultFileName_get uses '… + @"\\" + …'
construct to build the default path for the test server names file.
While escaping a backslash in a verbatim string is a typo, the
approach was error-prone. Replace string manipulation and environment
variables magic with calls to well-tested library functions.

GetSettingFileContent() displays a message on switching to VS Code
settings when SQL connection instances were configured.
Move the message to the branch for the absent test configuration file.
2020-04-06 08:43:02 -07:00
Karl Burtram
427f0c11e8 Bump SMO and SqlClient to pickup Microsoft.Data.SqlClient fixes (#894)
* Revert "Revert to SMO with older SQLClient driver (#889)"

This reverts commit b763abae47.

* Bump SMO and SqlClient
2019-11-22 17:17:21 -08:00
Karl Burtram
b763abae47 Revert to SMO with older SQLClient driver (#889)
* Revert "Update SMO (#875)"

This reverts commit 96593d66e3.

* Revert "Switch Tools Service to new SMO and Microsoft.Data.SqlClient driver (#865)"

This reverts commit 9d140b53f3.

* Bump SMO to 160.1910315.0-preview
2019-11-04 13:00:45 -08:00
David Shiflet
9d140b53f3 Switch Tools Service to new SMO and Microsoft.Data.SqlClient driver (#865)
* switch to ambient props and targets files

* build against Microsoft.Data.SqlClient

* build tests

* fix test bug

* temporarily add SMO nuget to the repo

* update to released Microsoft.Data package
2019-09-17 17:51:19 -04:00
Kevin Cunnane
d42e3626cb Fix serialization tests & don't block thread (#846)
* Fix serialization tests & don't block thread
- Fixed potential null ref when closing streams
- Always clean up serialization queue if an error occurs
- Stop blocking dispatcher thread by not awaiting task that processes the message
- Improved error logging in EventFlowValidator to help debug issues
- Close stream on exception
2019-08-09 09:48:57 -07:00
Charles Gagnon
c1f2411b02 FIx intellisense cache not refreshing (#831)
* FIx intellisense cache not refreshing

* Remove extra newlines

* Output label to provide more useful information in case of error
2019-06-27 23:50:41 +00:00
Charles Gagnon
85f34b65f1 Fix a number of cred scan hits (#800)
Bunch of secrets in files, usually fixed by generating random password. The deleted script files didn't seem to be used anywhere.
2019-04-24 13:31:34 -07:00
Karl Burtram
0fd98df79b Update SqlClient to 4.6.0 (#761) 2019-01-07 16:22:35 -08:00
Arvind Ranasaria
e4808c12aa Feat/result streaming - Fix for issue #746 in toolsservice and issue Microsoft/azuredatastudio#3348 (#753)
* fix for issues 746 & azuredatastudio issue 3348

* test coverage improvement for results streaming

* addressed minor review comments

* adding generated file test/CodeCoverage/package-lock.json to workaround code coverage issue.
2018-12-04 20:49:05 -08:00
kisantia
d5fd968b3c DacFx import/export (#728)
Adding DacFx import/export/deploy/extract functionality
2018-11-27 16:10:46 -08:00
Arvind Ranasaria
6dd9a4b5f1 Feat/result streaming (#721)
This changes adds the following two notifications from the results processing within a batch. These new notifications allows a consumer to stream results from a resultset instead of getting them all at once after the entire resultset has been fetched.

ResultsAvailable
This is issued after at least 1 row has been fetched for this resultset.

ResultsUpdated
This is issued periodically as more rows are available on this resultset. The final send of this notification when all rows have been fetched has the property 'Complete' set to true in the ResultSummary object.

Detailed Change Log:
* Initial completed implementation of QueryResults stream feature. 3 unittests still need fixing

* Fix for the 3 failing test. I will look into making MockBehavior strict again for the three tests later

* Making GetReader/GetWriter use filestream objects in FileShare.ReadWrite mode so the file can be concurrently read and written

* Changing resultsAvailable also to fire off on a timer instead of after 1st row

* adding a project for clr TableValuedFunction to produce result set with delays after each row. This is helpful in end to end testing.

* Fixing up some tests and simplifying implementation of result update timer

* Address review comments

* Some test fixes

* Disabled flaky test verification
2018-11-26 10:24:54 -08:00
Matt Irvine
7f28f249de Add support for Azure Active Directory connections (#727) 2018-11-13 11:50:30 -08:00
Karl Burtram
df023da0ba Revert "Rollback SMO to latest 14.0 version (#722)" (#723)
This reverts commit 407e9feb40.
2018-10-30 17:20:25 -07:00
Karl Burtram
407e9feb40 Rollback SMO to latest 14.0 version (#722)
* Rollback SMO to latest 14.0 version

* Add back nunit package reference
2018-10-30 12:13:23 -07:00
Karl Burtram
2b6eeb19ab Update references to use non preview references (#718) 2018-10-24 17:23:23 -07:00
Karl Burtram
a241a4510b Bump .Net Core SDK to 2.2.100 Preview (#715)
* Bump .Net Core SDK to 2.2

* Update travis file

* Try to fix broken AppVeyor code coverage
2018-10-22 15:54:17 -07:00
Arvind Ranasaria
1ef70ef259 Bug fix for https://github.com/Microsoft/azuredatastudio/issues/2923 and misc other fixes (#711) 2018-10-19 13:25:18 -07:00
David Shiflet
f99061866c Upgrade SMO to 150 preview (#701)
* Switch to the unified SMO NuGet so all binaries are strong named and signed.

* use one AssemblyLoader instance for all loads

* Revert "use one AssemblyLoader instance for all loads"

This reverts commit 48c59ffd5c57152de281c87acdbcad7ddf7ab760.

* Stop creating multiple AssemblyLoadContext objects during composition, per https://github.com/dotnet/coreclr/issues/19632

* restore high entropyva property

* Improve the comment

* Update SMO to 150 and fix scripting for objects with a single quote in their name.

* restore newtonsoft reference
2018-10-03 18:33:40 -04:00
ranasaria
09652cccd1 Enhanced Logging for sqltoolsservice (#695)
This change modifies the logging framework within sqltoolservice.
Moves away from custom Logger object to start using .Net tracing framework. It supports for the static Trace and TraceSource way of logging. For all new code it is recommend that we log the log messages using the existing static Logger class, while the code changes will continue to route the older Trace.Write* calls from the process to same log listeners (and thus the log targets) as used by the Logger class. Thus tracing in SMO code that uses Trace.Write* methods gets routed to the same file as the messages from rest of SQLTools Service code.
Make changes to start using .Net Frameworks codebase for all logging to unify our logging story.
Allows parameter to set tracingLevel filters that controls what kinds of message make it to the log file.
Allows a parameter to set a specific log file name so if these gets set by external code (the UI code using the tools service for example) then the external code is aware of the current log file in use.
Adding unittests to test out the existing and improved logging capabilities.


Sequences of checkins in development branch:
* Saving v1 of logging to prepare for code review. Minor cleanup and some end to end testing still remains
* Removing local launchSettings.json files
* added support for lazy listener to sqltoolsloglistener and removed incorrect changes to comments across files in previous checkin
* Converting time to local time when writing entries to the log
* move the hosting.v2 to new .net based logging code
* removing *.dgml files and addding them to .gitignore
* fixing typo of defaultTraceSource
* Addressing pull request feedback
* Adding a test to verify logging from SMO codebase
* propogating changes to v1 sqltools.hosting commandoptions.cs to the v2 version
* Fixing comments on start and stop callstack methods and whitespaces
* Commenting a test that got uncommented by mistake
* addding .gitattributes file as .sql file was observed to be misconstrued as a binary file
2018-09-24 23:55:59 -07:00
Leila Lali
0c1648b1c4 fixed couple of issues in the perf tests (#693) 2018-09-18 14:35:47 -07:00
Mustafa Sadedil
98018c5292 Save as XML feature added (#684)
Similar approach used like Save as JSON or Save as CSV.
2018-09-10 12:11:51 -07:00
Karl Burtram
066be2f46f Revert "Switch to the unified SMO NuGet" (#686)
* Revert "fixed perf tests and added more scenarios (#683)"

This reverts commit aa2b30f486.

* Revert "Switch to the unified SMO NuGet so all binaries are strong named and signed. (#682)"

This reverts commit 69961992bb.
2018-09-04 11:01:44 -07:00
Leila Lali
aa2b30f486 fixed perf tests and added more scenarios (#683)
* fixed perf tests and added more scenarios
2018-08-27 10:57:41 -07:00
David Shiflet
69961992bb Switch to the unified SMO NuGet so all binaries are strong named and signed. (#682) 2018-08-20 08:27:52 -04:00
David Shiflet
5cdab53da8 Upgrade SMO packages to fix issue with scripting tables (#678)
* Upgrade SMO packages to fix issue with scripting tables when Script Dependencies is true on the script options.

* use linux style import with case matching file name
2018-08-09 08:11:18 -04:00