Skip to content
This repository has been archived by the owner on Jun 21, 2020. It is now read-only.

Development #71

Merged
merged 209 commits into from
Aug 30, 2017
Merged

Development #71

merged 209 commits into from
Aug 30, 2017

Conversation

jeffrey-opdam
Copy link
Contributor

Thank you for your pull request!
By completing this pull request, you agree to the Contributing License Agreement.

Fixes # .

Changes proposed in this pull request:

  • Finished pin page.

@ALM-Rangers/Team-Services-Bot

jeffrey-opdam and others added 30 commits April 5, 2017 09:37
… Added code analysis to bot project and fixed errors and warnings. Work incomplete.
- Removed the unnecassary try catch from messagesController
jeffrey-opdam and others added 22 commits August 1, 2017 20:42
* Adhere to the naming

* Converted to VSTS
* Removed the common tests project.

* Removed ConfigurationProvider
Handling unknown commands.

Updated connect message.
* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.
…app.config gets updated as part of NuGet package installation.
* Working on the homepage.

* Updated title

* using 1 layout

* Updated pin page.

* Added the text.
* Development (#62)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Development (#65)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* fixed project file.
@wpschaub wpschaub self-requested a review August 30, 2017 18:56
@jeffrey-opdam jeffrey-opdam merged commit 46e55e8 into master Aug 30, 2017
jeffrey-opdam added a commit that referenced this pull request Aug 30, 2017
* Development (#71)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* Updated NuGet packages. Fixed an issue with disappearing tests after app.config gets updated as part of NuGet package installation.

* Removed few compilation warnings.

* Added handling of exceptions during dialog conversations.

* Fixed AppSettings file name

* Added support for CommandName to UnknownCommandException and default error message.

* Feature/13566 jo (#68)

* Working on the homepage.

* Updated title

* using 1 layout

* Updated pin page.

* Added the text.

* Feature/syncing branches (#70)

* Development (#62)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Development (#65)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* fixed project file.

* fix
jeffrey-opdam added a commit that referenced this pull request Aug 30, 2017
* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* Updated NuGet packages. Fixed an issue with disappearing tests after app.config gets updated as part of NuGet package installation.

* Removed few compilation warnings.

* Added handling of exceptions during dialog conversations.

* Fixed AppSettings file name

* Added support for CommandName to UnknownCommandException and default error message.

* Feature/13566 jo (#68)

* Working on the homepage.

* Updated title

* using 1 layout

* Updated pin page.

* Added the text.

* Feature/syncing branches (#70)

* Development (#62)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Development (#65)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* fixed project file.

* Feature/buildfix (#72)

* Development (#71)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* Updated NuGet packages. Fixed an issue with disappearing tests after app.config gets updated as part of NuGet package installation.

* Removed few compilation warnings.

* Added handling of exceptions during dialog conversations.

* Fixed AppSettings file name

* Added support for CommandName to UnknownCommandException and default error message.

* Feature/13566 jo (#68)

* Working on the homepage.

* Updated title

* using 1 layout

* Updated pin page.

* Added the text.

* Feature/syncing branches (#70)

* Development (#62)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading o…
jeffrey-opdam added a commit that referenced this pull request Aug 30, 2017
* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* Updated NuGet packages. Fixed an issue with disappearing tests after app.config gets updated as part of NuGet package installation.

* Removed few compilation warnings.

* Added handling of exceptions during dialog conversations.

* Fixed AppSettings file name

* Added support for CommandName to UnknownCommandException and default error message.

* Feature/13566 jo (#68)

* Working on the homepage.

* Updated title

* using 1 layout

* Updated pin page.

* Added the text.

* Feature/syncing branches (#70)

* Development (#62)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Development (#65)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* fixed project file.

* Feature/buildfix (#72)

* Development (#71)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* Updated NuGet packages. Fixed an issue with disappearing tests after app.config gets updated as part of NuGet package installation.

* Removed few compilation warnings.

* Added handling of exceptions during dialog conversations.

* Fixed AppSettings file name

* Added support for CommandName to UnknownCommandException and default error message.

* Feature/13566 jo (#68)

* Working on the homepage.

* Updated title

* using 1 layout

* Updated pin page.

* Added the text.

* Feature/syncing branches (#70)

* Development (#62)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading o…
jeffrey-opdam added a commit that referenced this pull request Aug 30, 2017
* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* Updated NuGet packages. Fixed an issue with disappearing tests after app.config gets updated as part of NuGet package installation.

* Removed few compilation warnings.

* Added handling of exceptions during dialog conversations.

* Fixed AppSettings file name

* Added support for CommandName to UnknownCommandException and default error message.

* Feature/13566 jo (#68)

* Working on the homepage.

* Updated title

* using 1 layout

* Updated pin page.

* Added the text.

* Feature/syncing branches (#70)

* Development (#62)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Development (#65)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* fixed project file.

* Feature/buildfix (#72)

* Development (#71)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* Updated NuGet packages. Fixed an issue with disappearing tests after app.config gets updated as part of NuGet package installation.

* Removed few compilation warnings.

* Added handling of exceptions during dialog conversations.

* Fixed AppSettings file name

* Added support for CommandName to UnknownCommandException and default error message.

* Feature/13566 jo (#68)

* Working on the homepage.

* Updated title

* using 1 layout

* Updated pin page.

* Added the text.

* Feature/syncing branches (#70)

* Development (#62)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading o…
wpschaub pushed a commit that referenced this pull request Aug 31, 2017
* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* Updated NuGet packages. Fixed an issue with disappearing tests after app.config gets updated as part of NuGet package installation.

* Removed few compilation warnings.

* Added handling of exceptions during dialog conversations.

* Fixed AppSettings file name

* Added support for CommandName to UnknownCommandException and default error message.

* Feature/13566 jo (#68)

* Working on the homepage.

* Updated title

* using 1 layout

* Updated pin page.

* Added the text.

* Feature/syncing branches (#70)

* Development (#62)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Development (#65)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* fixed project file.

* Feature/buildfix (#72)

* Development (#71)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Added reading of build definitions.

* Fixed continious login prompt.

* Fixed GetAccountsTest

* Added tests.

* Added unit tests for VstsService.

* Minor formatting changes.

* Update the third party party notices file to reference all OSS libraries. (#37)

* Updated NuGet packages

* Added missing method description.

* Fixed NuGet references. Added missing analyzers.

* Implemented unit tests for VstsService.ChangeApprovalStatus() and VstsService.GetApprovals()

* Removed unused reference.

* Feature/jo acceptance tests (#38)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#40)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Feature/jo acceptance tests (#41)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Feature/jo acceptance tests (#42)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* Added re initialize of the refreshtoken

* Check refreshtoken

* debug info

* Removed Console.WriteLine

* Now using the id

* Exception handling

* Removed Fakes warnigns

* added the authorizeurl

* Another addition

* more logging

* More debug info

* Debug info

* Small refactor.

* AGAIN

* again

* Debug

* Update Team-Services-Bot.runsettings

* Removed all the debug lines.

* Fixed VSTS Tests

* Removed Fakes warnings (#44)

* Removed Fakes warnigns

* Fixed VSTS Tests

* Feature/jo pages (#45)

* Adding acceptance tests.

* Finished coding Approvals - Acceptance Tests.

* Added connect acceptance test.

* Updated ThirdPartyNotices.txt

* Added basic pages.

* Added pages.

* Finished with the tests.

* Added unit tests for default controller.

* Added updated config files.

* Added the Eula page.

* Fixed some issues.

* Ignore one test.

* Second try.

* Removed trailing space

* - Moved EULA to it's own controller.
- Added link to EULA in the bots welcome message.

* Updated ChangeApprovalStatusTest to match changed method under test.

* Corrected formatting.

* Corrected formatting

* Added unit tests for uncovered methods in VstsService class

* Temporarily removed account Uri lookup. (#48)

* Updated readme.

* Added Vladimir as contributor.

* Simplified connecting to VSTS.

* Feature/13140 list build definitions (#49)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Feature/13140 list build definitions (#50)

* Temporarily removed account Uri lookup.

* Added more

* Added basics & basic tests for BuildsDialog.

* Added code for showing the BuildDefinitionCard

* Added acceptance test.

* Fixed message

* Changed type to Index.cshtml of authorize to content

* Added feature to clear user data.

* Features/13141 jo (#51)

* Added QueueBuildAsync method and test

* Added logic for handling queing a build.

* Added acceptance test.

* Fixed some small bugs regarding Build Queue

* Fixed a warning

* Features/13142 jo (#52)

* Added method to get release definitions

* Added ReleasesDialog with unit tests for listing release definition.

* Added acceptance test for listing releases

* Updated CreateRelease so it picks up multiple latest builds for 1 or more artifacts.

* Added Create method to releasesdialog, added unittests, added acceptance tests.

* Renamed test name.

* Added GetReleaseAsyncTest

* Fixed error handling in AuthorizeController

* added scope configuration value (#55)

* fixed issue with unit tests

* Restored back default name for AppSettings configuration file.

* Update shims files

* Joined null checks with assigments.

* Added Guards to VSTSService

* Feature/13290 jo (#56)

* Updated guards in the extension method(s)

* Added Guards on the Cards.

* Added Guards to Bootstrap & Dialogs.

* Feature/naming convention (#58)

* Adhere to the naming

* Converted to VSTS

* Update README.md

* Feature/jo refactorings (#59)

* Removed the common tests project.

* Removed ConfigurationProvider

* Updated AppSettings

Handling unknown commands.

Updated connect message.

* Added check if a team project from the list is selected. (#60)

* Updated notice, so it uses the official name of the VSTS Bot.

* Fixed issue with ignore change bat files.
Cleaned AppSettings.

* Using the display name of the profile to get the users approvals.

* changed the profile scope.

* Reverted

* Feature/jo bug fixes (#64)

* Fixed issue when there empty lists, which resulted in an empty reply.

* Showing the connect button as help if not connected yet.

* Updated NuGet packages. Fixed an issue with disappearing tests after app.config gets updated as part of NuGet package installation.

* Removed few compilation warnings.

* Added handling of exceptions during dialog conversations.

* Fixed AppSettings file name

* Added support for CommandName to UnknownCommandException and default error message.

* Feature/13566 jo (#68)

* Working on the homepage.

* Updated title

* using 1 layout

* Updated pin page.

* Added the text.

* Feature/syncing branches (#70)

* Development (#62)

* Update README.md

* Update README.md

* Added a common folder for common assembly info and custom dictionary. Added code analysis to bot project and fixed errors and warnings. Work incomplete.

* Added Code Analyzers.

* fix CA

* Refactored the tests to make it more simple.

* Fixed wrong folder name.

* Updated the source headers.

* Added initial acceptance test.

* Acceptance Tests.

* updated ignore file, so it ignores the runsettings file.

* Setup configuration.

* Setup configuration.

* Updated the readme.md file with guidance how to setup the user for Acceptance Tests.

* Updated the headers

* - Added the CommonAssemblyInfo to Acceptance Test.
- Removed the unnecassary try catch from messagesController

* Added AppSettings.config to repo

* Trying to get it right

* Added AppSettings.config again

* Add runsettings

* Added batch for to ignore changes.
Updated the readme

* Fixed the web.release.config

* Web.Release.config

* again

* Change

* And finally fixed.

* - Adopted Autofac.
- Updated Unit test to accomodate Autofac.

* Added Telemetry

* Enabled StyleCop for the api project.

* Added stylecop analysis for the Unit Test project.

* Added stylecop rules to Acceptance test project.

* Initial code to popup a signin card and redirect to login screen.

* Added first unit test for connecting to an account.

* Tested with emulator, it is spinning up.

* Mark the current specflow tests using the DirectLine client as Integration tests.

* Start of controller feature tests.

* Worked on the AuthorizeController, when a redirect is done to the controller with an authorization code. We get the profile and accounts for that user.

* Able to do a round trip with the oauth.

* Update AppSettings.config

* Simplified.

* Added initial steps for testing the controller, although not working yet. Also added a test code rule set for code analysis.

* Fixed issue for Test Explorer not finding the tests.

* Added acceptance tests for the controller, which needs dialogs to be invoked through an injected interfaces. Also tests situation where controller gets an exception.

* Added test for non-message activities sent to the controller.

* Finished the unit test for retrieving and processing a security code.

* Refactored a bit.

* Added a production code ruleset. Fixed all code analysis errors. Ensure all warnings are treated as errors.

* Checks if a profile was selected before.

* Small Updates.

* Fixed issue with different version of assemblies
Enabled the custom rulesets for release configuration.

* Fixed issue with test not showing up

* Added common files to solution for easy tracking.

* Updated NuGet packages.

* Revert "Updated NuGet packages."

This reverts commit 141aeac7753c529ffa3de137ace4a70b8e82562d.

* Jo 13138 (#15)

* Moving forward to a using a flow for the user.

* More changes to the flow.

* Working on the flow.

* Finished the flow for connecting to an account.

* Fixed current unittests.

* Small cleanup in the Authorize controller.

* Some minor fixes.

* - Updated Nuget packages.
- Followed up on new rulesets.

* Added guards in ConnectDialog
Removed try..catch

* Updated NuGet packages.

* Added ReSharper settings file.

* Removed unused parameter.

* Corrected IDisposable patter implementation

* Wrapped any iterpolated string with FormattableString.Invariant(), so… (#17)

* Wrapped any iterpolated string with FormattableString.Invariant(), so it uses the Invariant cultureinfo.

* Removed unused using.

* Fixed failing controller tests. The builder needs to be set up in the controller tests. However, to make it work the builder needs configuration so added a configuration provider interface that can be mocked. Also had to remove some C# 7 syntax.

* Updated the Random generator to RNGCryptoServiceProvider, so the gene… (#16)

* Updated the Random generator to RNGCryptoServiceProvider, so the generation is more secure.

* Using UInt32, and modules to get a 5 number pin

* Added test categories and applied them. Renamed Acceptance tests to Behavioural.

* Jo 13289 (#20)

* Started on a work around to mock user data.

* Got the current unit tests working.

* Simplified the unit tests

* Added unit tests.

* Fixed minor inspection warnings.

* Renamed IProfileService to IVstsService as it serves not only profile retrieval. It will be extended to get other VSTS objects like projects, etc.

* Cleaned up documentation. (#24)

* Cleaned up documentation.

* Added suppress warning 1591 to all configurations for test projects.

* Missed  the change to the custom dictionary . This broke the build

* Implemented reading VSTS projects. Added basic unit tests.

* Reordered using

* Acceptance tests welcome (#27)

* Added Acceptance Tests for the welcome messages.

* Update Team-Services-Bot.runsettings

* Update Team-Services-Bot.runsettings

* Added two acceptance tests for welcome,

* Update Team-Services-Bot.runsettings

* Added CreatedOn and ExpiredOn for easier expiration detection of the access token.

* Undo ignore batch file.

* Two suppress messages.

* Renamed a method.

* Moved TestCategories class into a separate common test project. Applied categories to uncategorised tests. Also pointed all assemblies to a common strong name key file. Removed a redundant warning suppression.

* Getting some info from console.

* showing bot id information.

* Reverted logging stuff.

* Updated test category to use common class rather then string.

* Removed commented code.

* issue with the authorization scope. Fixed.

* Implemented project selection

* Refactored usage of IVstsAccount in ConnectDialog. Fixed tests.

* Feature/13280 jo (#31)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Feature/13280 jo (#32)

* Added the acceptance tests.

* Added approvals acceptance tests.

* Start for the ApprovalsDialog.

* Added Approvals list, Approve and Reject.

* Finished Approve and reject tests.

* Rewritten unit tests.

* Added refresh token support.

* Running some tests on the approvals flow.

* Added email address to the profile.

* Fixed button in Teams

* Fixed issue with the refreshtoken.

* - Updated according to the comments.
- Using account as string again

* Fixed warnings

* Fixed warning

* Fixed tests.

* Reduced cognitive complexity

* Improved method naming and disposed connection object.

* Feature/jo refactoring root and connect dialogs (#33)

* Refactored RootDialog Unit Tests.

* Figured out how to mock the Wait method on DialogContext.

* Added unit tests for connectdialog.

* Finished unit tests for connect dialog.

* Added unit tests for root dialog.

* Finished Unit Tests for Approvals Dialog.

* Added unit tests for the cards.

* Excluded some classes from code coverage.

* Added more unit tests.

* Added more unit tests.

* auth scope reset.

* Added runsettings.

* Changed to include.

* fixing runsettings

* Fixing runsettings

* Final,

* Fixed the issue

* Fixed issue with tests. Changed the welcome message.

* Feature/jo refactor msg controller tests (#35)

* Moved the MessagesControllerTests to the unit test project.

* Encapsulated ContainerBuilder into Bootstrap

* Feature/jo more refactoring (#36)

* Renamed a few method

* Adjusted the code around the pin. so the profile is not used before the pin is entered. This way, it is harder to inject someones profile into another users session.

* var.

* Adde…
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants