Commit Graph

663 Commits

Author SHA1 Message Date
Kevin Cunnane
7acc668c04 Create Firewall Rule support with a simple Resource Provider implementation
Implementation of the resource provider APIs in order to support Create Firewall Rule. Provides definition for a ResourceProvider and Authentication service. The ResourceProvider supports firewall rules for now, and since authentication is routed through that method it will call into the auth service to set up the current account to be used.

Additional notes:
- Fixed deserialization by adding an Accept header. This shouldn't be necessary, but for some reason the firewall rule defaults to XML without this
- Use generic server list and parse the ID to get the resource group, avoiding a large number of extra calls for each RG
- Errors now include error message from the API
2017-10-09 15:45:33 -07:00
Leila Lali
fecf56bce2 closing the default connections that are opned just for validating the connections. Added the feature to application name in the connection (#483) 2017-10-09 10:49:12 -07:00
Praveen Barli
a8f3503c00 comment changes (#482) 2017-10-06 15:42:22 -07:00
Praveen Barli
8b86279c3d send empty response for non-ms sql peekdef calls (#480) 2017-10-06 15:32:11 -07:00
Kate Shin
2c4f2cf6b8 Fix restore service to set target db same as source db (#479)
* fix restore service to change target db

* add overwriteTargetDb param

* update comment
2017-10-06 11:31:10 -07:00
Leila Lali
f09b9f4c30 Fixing the bug with connections on database make restore fail (#473)
* closing the connections that don't need to be open and keeping track of the connections that should stay open
2017-10-05 20:06:31 -07:00
Aditya Bist
7444939335 Task/script refactor (#478)
* scripting working with race conditions

* new service works with no race conditions

* use new scripting service and commented out tests

* refactored peek definition to use mssql-scripter

* fixed peek definition tests

* removed auto gen comment

* fixed peek definition highlighting bug

* made scripting async and fixed event handlers

* fixed tests (without cancel and plan notifs)

* removed dead code

* added nuget package

* CR comments + select script service implementation

* minor fixes and added test

* CR comments and script select

* added unit tests

* code review comments and cleanup

* fixed failing scripting tests

* fixed failing scripting tests

* fixed select script test

* code review comments
2017-10-05 12:19:08 -07:00
Kevin Cunnane
ac64ac063b Port Azure code from SSDT to the tools service (#477)
Porting of the vast majority of Azure-related code from SSDT. This is very large, so I want to put this out as one large "lift and shift" PR before I do the tools-service specific JSON-RPC service handlers, connect a new account handler (as the code to get necessary info from accounts and subscriptions isn't fully complete) and add tests over these

**What's in this PR**:

- Created 3 new projects:
  - Microsoft.SqlTools.ResourceProvider will host the executable that accepts requests for Azure-related actions over the JSON-RPC protocol. This must be separate from other DLLs since a direct dependency on the Azure SDK DLLs fails (they're NetStandard 1.4 and you can't reference them if you have RuntimeIdentifiers in your .csproj file)
  - Microsoft.SqlTools.ResourceProvider.Core is where all the main business logic is, including definitions and logic on how to navigate over resources and create firewall rules, etc.
  - Microsoft.SqlTools.ResourceProvider.DefaultImpl is the actual Azure implementation of the resource provider APIs. The reason for separating this is to support eventual integration back into other tools (since their Azure and Identity services will be different).
- Implemented the AzureResourceManager that connects to Azure via ARM APIs and handles creating firewall rule and querying databases. The dependent DLLs have had major breaking changes, so will need additional verification to ensure this works as expected
- Ported the unit tests for all code that was not a viewmodel. Viewmodel test code will be ported in a future update as we plumb through a service-equivalent to these. Also, the DependencyManager code which has overlap with our service provider code is commented out. Will work to uncomment in a future update as it has value to test some scenarios

**What's not in this PR**:
- Identity Services. We currently just have a stub for the interface, and even that will likely change a little
- anything JSON-RPC or registered service related. These will be adapted from the viewmodels and added in a separate PR
2017-10-04 12:37:20 -07:00
Anthony Dresser
98f7e59f1a fixed indexing and selection logic (#471) 2017-10-03 18:03:00 -07:00
Kate Shin
d30b9c870d Update restore service to return default backup folder (#475)
* Fix restore to return default backup folder

* fix break

* fix tests

* fix file validator for invalid filepath
2017-10-03 16:11:30 -07:00
Aditya Bist
05702182ab Task/script refactor (#476)
* scripting working with race conditions

* new service works with no race conditions

* use new scripting service and commented out tests

* refactored peek definition to use mssql-scripter

* fixed peek definition tests

* removed auto gen comment

* fixed peek definition highlighting bug

* made scripting async and fixed event handlers

* fixed tests (without cancel and plan notifs)

* removed dead code

* added nuget package

* CR comments + select script service implementation

* minor fixes and added test

* CR comments and script select

* added unit tests

* code review comments and cleanup

* fixed failing scripting tests
2017-10-03 14:41:18 -07:00
Karl Burtram
9091df8f62 Fix some issues with Script As Select (#474) 2017-10-03 14:39:29 -07:00
Kate Shin
8e78ecf9a4 Fix backup file validation error message (#472)
* Fix backup error message

* check for file existence for restore

* chang error message

* address pr comment

* cleanup
2017-10-02 15:45:28 -07:00
Aditya Bist
e7756b0bf1 Task/script refactor (#446)
* scripting working with race conditions

* new service works with no race conditions

* use new scripting service and commented out tests

* refactored peek definition to use mssql-scripter

* fixed peek definition tests

* removed auto gen comment

* fixed peek definition highlighting bug

* made scripting async and fixed event handlers

* fixed tests (without cancel and plan notifs)

* removed dead code

* added nuget package

* CR comments + select script service implementation

* minor fixes and added test

* CR comments and script select

* added unit tests

* code review comments and cleanup
2017-10-02 12:02:43 -07:00
Leila Lali
9d898f0d0c fixed couple of issues in restore (#470) 2017-09-29 09:46:44 -07:00
Kate Shin
b46c4b4381 Fix issues in file browser service (#469)
* fix file browser service bug

* modify filebrowser service

* change filebrowser contract

* fix contract

* fix file browser add/expand event contracts

* remove commented code
2017-09-28 13:02:57 -07:00
Leila Lali
3510ad7d5c Fixing the perf tests (#468)
fixed the pref tests
2017-09-27 13:52:50 -07:00
Matt Irvine
924709af79 More ConcurrentDictionary test changes - Fix build error from PR #456 (#467) 2017-09-21 16:21:47 -07:00
Matt Irvine
339a9c0fe2 Use a concurrent dict when mocking file stream factory (#465) 2017-09-21 10:27:03 -07:00
Karl Burtram
60aad9cf7e Allow connections on non-default port (#462)
* Allow custom port

* Update unit tests for port property
2017-09-21 08:26:13 -07:00
Monasr
c90fd3410d Localization check-in for September update (#464)
* Localization check-in for September update

* Fix format of test check that was failing so that if it fails in lab we'll get useful error message
2017-09-20 16:15:55 -07:00
Kevin Cunnane
01d7cde0e3 Add support for Dedicated Administrator Connection (#466)
* Prototype support for admin connection

* Added test and used correct default for ADMIN connection casing
2017-09-20 16:04:12 -07:00
Benjamin Russell
8867bd9059 Code Coverage: SaveAsExcel Contracts, EditData Initialization (#463)
* Adding unit tests for save as excel

* Adding unit test for revert cell integration

* Adding unit test for edit session initialization

* Fixing issue where excel file factory wasn't being overridden
2017-09-20 15:09:29 -07:00
Benjamin Russell
5cf779fd23 Fix: GUIDs not being stored as Guids (#461)
* Fixing issue where Guids weren't being stored in the service buffer file as Guids

* Removing unnecessary ReadSqlGuid method

* Adding unit test for revert cell integration

* Adding unit test for edit session initialization

* Revert "Adding unit test for revert cell integration"

This reverts commit a949926f2ebbb0c39f776edba76d999af4f3f3e9.

* Revert "Adding unit test for edit session initialization"

This reverts commit ff9e5a7d0e5392b27257e57db64879699d73d21c.
2017-09-20 09:59:25 -07:00
Matt Irvine
a35cd8ed2b Take column into account when getting current statement query (#458) 2017-09-19 16:51:24 -07:00
Benjamin Russell
9684d9e410 Adding URN field to ObjectMetadata class (#450) 2017-09-19 16:00:31 -07:00
Karl Burtram
4fde186970 Turn off connection pooling to avoid locking (#460)
-- Ignoring the failed profiler test in the CI build since Matt is disabling in his pending PR.

* Turn off connection pool for internal SqlClient connections to avoid locking

* Add additional comments
2017-09-19 10:03:55 -07:00
Matt Irvine
52913aa815 Handle null passwords when creating SecureStrings in AdminService (#457) 2017-09-14 11:06:15 -07:00
Karl Burtram
84ea045572 XEvent Profiler initial event handlers (#456)
* Bump SMO to 140.2.5 to pick-up private XEvent binaries

* Pick up SMO binaries from the build lab

* Add ProfilerService class placeholder

* Update SMO nuget package to include DB Scoped XEvents

* Stage changes

* Stage changes

* Update SMO to use RTM dependencies and remove separate SqlScript package

* Stage changes

* Iterate on profiler service

* Fix post-merge break in localization

* More refactoring

* Continue iterating on profiler

* Add test profiler listener

* Address a couple of the code review feedback

* Fix AppVeyor build break

* Use self-cleaning test file
2017-09-12 14:08:50 -07:00
Leila Lali
2677efb6b8 changed code cover branch name to master (#455) 2017-09-10 18:28:17 -07:00
Leila Lali
69fad36198 fixed the issue with restore task title (#454)
* fixed the issue with restore task title

* addressed cr comments
2017-09-10 18:10:37 -07:00
Kate Shin
14ec5be961 Create remote file browser service (#448)
* code refactoring

* Add filebrowser service and tests

* change dataset reference

* Address pr comments

* add more tests

* address pr comments

* address pr comments and added more tests

* minor change

* minor fix

* Fix test break and add dataset result check
2017-09-08 13:57:56 -07:00
Henry Phan
784f4c5d05 Feature/serialization exe (#442)
* Initial changes to have serialization generate its own .exe

* Removed additional project from sln file

* remove all references to removed temporary project

* Moved shared contracts into own dll and fixed imports. Addressed PR comments

* Undid having a separate contracts project since that'll be a task for later on. Moved dbcellvalue and saveresultsrequest to Hosting, where they will be imported and shared by the service layer and serialization projects

* Switched backslashes in project reference in csproj file to forward slashes for consistency

* Moved necessary contracts back to service layer. Refactored CommandOptions to reduce code duplication. Addressed miscellaneous PR suggestions

* Accidentally left these files out of previous commit

* Initialized loggers for serialization and credentials with the logging directory provided by the cmd line arg, if there is one

* Changed default log directory paths for serialization and credentials. Removed unnecessary cast and added a copyright

* Changed name of generated executable for serialization service

* removed unnecessary object cast

* removing unnecessary imports and addressing other PR comments
2017-09-05 16:21:42 -07:00
Leila Lali
22ccac98ae creating one package which includes sqltoolsservice and credential service (#444)
* creating one package which includes sqltoolsservice and credential service

* adding logDir arg to credentials program
2017-09-01 12:21:30 -07:00
Kate Shin
44d3e4b17e Close connection after backup execution (#449) 2017-08-31 11:00:02 -07:00
Benjamin Russell
bebc1c1b33 Fixing IsMemoryOptimized not supported issue (#447) 2017-08-30 11:25:17 -07:00
Kevin Cunnane
774a777db2 Skip formatting if the language flavor shows this is not an MSSQL doc (#445) 2017-08-28 17:38:14 -07:00
Leila Lali
5ab995d78f keeping the target db to what ever client is sending (#443) 2017-08-25 12:00:43 -07:00
Leila Lali
eb61423f89 added a binding queue for oe to force one operation on a node at a time (#441)
* added a binding queue for oe to force one operation on a node at a time

* setting node subtype to temporal for temporal tables

* disposing oe service on shutdown
2017-08-22 15:15:01 -07:00
Leila Lali
d94dda4282 integrate backup operation with new scriptable task (#440)
* integrate backup operation with new scriptable task
2017-08-21 15:04:48 -07:00
Leila Lali
1511f73672 fixed the issue with resources not disposed correctly (#439)
* fixed the issue with resources not disposed correctly

* disposing language service at shutdown
2017-08-21 14:32:48 -07:00
Leila Lali
39dedd88e0 generic way to support scriptable operations (#438)
* implemented a generic way to support scriptable operations
2017-08-18 16:12:00 -07:00
Aditya Bist
3915688332 added support for more object scripting (#435)
* added support for more object scripting

* allow using script options in scripting

* added tests for scripting all objects
2017-08-16 17:11:41 -07:00
Karl Burtram
4e9ff42dfc Update to SMO built with .Net 2.0 RTM SDK (#437)
* Pick up .Net 2 RTM SMO dependencies

* Add missing NUPKG files

* Remove preview framework nuget packages
2017-08-16 16:08:03 -07:00
Henry Phan
236844958e Adding an import change that was left out of a previous PR (#436) 2017-08-16 11:11:10 -07:00
Henry Phan
f6850c7f44 Changes to add serialization as part of the features metadata (#434)
* Changes to add serialization as part of the features metadata

* Adding in an empty array as the optionsmetadata for serializationservice feature instead of null
2017-08-16 10:25:40 -07:00
Leila Lali
f95a652174 fixed the bugs with creating new restore plan (#433)
* fixed the bug with source db name not setting correctly when new plan created
2017-08-16 08:54:05 -07:00
Karl Burtram
d6c6700a3a Change Integrated Auth to Windows Authentication (#432) 2017-08-14 14:05:43 -07:00
Leila Lali
4b97aa8c43 fixed the issues with restore options (#431)
* fixed the issues with restore options connecting to server without db name
2017-08-14 13:29:40 -07:00
Kate Shin
cd870e6f15 Integrate generate script with task service (#426)
* Support generate script for backup

* change

* update task service data contract for Generate Script

* more changes

* update test

* add comments

* Add missing files

* update stub backup operation for testing

* pr comments

* remove empty space

* Fix tests

* Add unit/integration tests and isCancelable to TaskInfo

* address pr comments

* pr comments - fix tests

* fix minor issue

* fix minor issues

* remove unused variable
2017-08-09 19:59:40 -07:00