* Add TranscriptTestRunnerPOC project
* Update class to write test script file
* Add TestClientBase & DirectLineTestClient classes
* WIP TestRunner class
* Rename project and apply feedback
* Update test methods to use TestRunner
* Move TestClientFactory class from old folder.
* Remove unnecessary files
* Add test for running multiple transcripts
* Add StyleCop and FxCop analyzers
* Fix Stylecop & FxCop issues
* Change exception in TestBotClient constructor
* Refactor some classes and optimizations
- Updated SkillFunctionalTests.csproj to always copy anything under the SourceTranscripts folder so I don't forget to set the copy always property.
- Changed TranscriptTestRunner.csproj to target netstandard2.0 and set it to use the latest C# version to make it more compatible with other consumers.
- TestClientBase: Removed ValidateActivityAsync (this has been moved to the runner.
- TestClientBase: Added GetNextReplyAsync to be able to pop activities from the client's internal queue.
- DirectLineTestClient: made it disposabled and implemented the dispose pattern to ensure we dispose direct line client.
- DirectLineTestClient: Implemented GetNextReplyAsync that stores whatever it pulls from DL in an internal queue and returns the first activity if any.
- DirectLineTestClient: added watermark field to store latest read activity (as the https://github.com/microsoft/BotFramework-DirectLine-DotNet/tree/main/samples/core-DirectLine/DirectLineClient shows).
- DirectLineTestClient: removed the validation code (this is now in TestRunner).
- TestRunner: Added SendActivityAsync and GetNextReplyAsync so we can send an receive activities without a script if we want.
- TestRunner: Implemented rough AssertReply method with logic to check activities.
- TestRunner: implemented some very basic filtering.
* Introduced AssertReplyAsync public method in TestRunner that takes an action for custom validation.
Added editorconfig to the solution.
* [Skills Everywhere] Reorganize project structure (#150)
* Reorganize project structure
* Rename folders
* Change folder names in .sln
* [Skills Everywhere] Add solution files (#151)
* Reorganize project structure
* Rename folders
* Change folder names in .sln
* Add Directory.Build.props files
* Remove StyleCop references from .csproj files
* Fix remaining Stylecop issues
* Update transcript files
* StyleCop fixes in bots
* Set DirectLineClient retry policy to 0, fixing an issue causing the pipeline to fail
Co-authored-by: Joel Mut <joel.mut@southworks.com>
* [Skills Everywhere] Add logging for tests (#152)
* Reorganize project structure
* Rename folders
* Change folder names in .sln
* Add Directory.Build.props files
* Remove StyleCop references from .csproj files
* Fix remaining Stylecop issues
* Update transcript files
* StyleCop fixes in bots
* Set DirectLineClient retry policy to 0, fixing an issue causing the pipeline to fail
* Add logging using System.Diagnostics
Co-authored-by: Joel Mut <joel.mut@southworks.com>
* Moved bots source code to the new Bots folder. (#153)
* Add ILogger implementation (#154)
Co-authored-by: Joel Mut <joel.mut@southworks.com>
* Made stopwatch in test runner a lazy property so it gets initialized when RunTestScript is called or when SendActivity is called (it was failing for non script based tests). (#155)
Added a refence to [Divergic.Logging.Xunit](https://github.com/roryprimrose/Divergic.Logging.Xunit) so we can show the XUnit tests output in test explorer
Modified SimpleHostBotToEchoSkillTest to add XUnitlogger and regrouped some tests to use [TheoryTests] and avoid code duplication.
Updated some nuget packages
Modified some output strings
* Update YAML references
* move set dotnet paths to template
* add log to dotnet set paths template
* [Skills Everywhere] Add XUnitTestRunner class (#156)
* Add XUnitTestRunner class
* Apply feedback
Co-authored-by: CeciliaAvila <cecilia.avila@southworks.com>
* Add serilog to write a file log (#157)
Co-authored-by: CeciliaAvila <cecilia.avila@southworks.com>
Co-authored-by: Cecilia Avila <44245136+ceciliaavila@users.noreply.github.com>
* Improve TranscriptConverter adding assertions list
* Write indented TestScript file
* Update OAuth test to use TranscriptTestRunner
* Remove manual tests and apply minor fixes
* Update oAuth implementation
* Update path to identify type of bot for tag label
* Polish implementation
* Add missing doc
* Description corrections
* Update Libraries/TranscriptTestRunner/TestRunner.cs
Co-authored-by: Santiago Grangetto <santiagograngetto@gmail.com>
* Apply correction, change xml path
* Update Libraries/TranscriptTestRunner/TestRunner.cs
Co-authored-by: Cecilia Avila <44245136+ceciliaavila@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Cecilia Avila <44245136+ceciliaavila@users.noreply.github.com>
* [Skills Everywhere] Update Bot messages to maintain parity (#159)
* Update bots messages for parity with Dotnet
* Update v3 bots messages
* Set InputHint property in v3 bots
* Use MessageFactory in prompt
Co-authored-by: Joel Mut <joel.mut@southworks.com>
Co-authored-by: CeciliaAvila <cecilia.avila@southworks.com>
Co-authored-by: Santiago Grangetto <santiago.grangetto@southworks.com>
* [Skills Everywhere] Improve TranscriptConverter adding assertions list (#160)
* Improve TranscriptConverter adding assertions list
* Write indented TestScript file
Co-authored-by: CeciliaAvila <cecilia.avila@southworks.com>
* [Skills Everywhere] Update OAuth tests to use TranscriptTestRunner (#163)
* Improve TranscriptConverter adding assertions list
* Write indented TestScript file
* Update OAuth test to use TranscriptTestRunner
* Remove manual tests and apply minor fixes
* Update oAuth implementation
* Polish implementation
Co-authored-by: CeciliaAvila <cecilia.avila@southworks.com>
Co-authored-by: Santiago Grangetto <santiago.grangetto@southworks.com>
* [Skills Everywhere] Update Repository's documentation (#166)
* Add Transcript Test Runner README
* Update root README file
* Add step-by-step guide
* Update SkillFunctionalTests README.md
* Update TranscriptTestRunner readme
* Remove space
Co-authored-by: Joel Mut <joel.mut@southworks.com>
Co-authored-by: Santiago Grangetto <santiago.grangetto@southworks.com>
Co-authored-by: Joel Mut <62260472+sw-joelmut@users.noreply.github.com>
* [Skills Everywhere][#168] Update some csproj files to match folder names (#171)
* Rename host bot 2.1
* Fix documentation issues
* Rename skill bot 2.1
* Rename skill bot v3
* Update dotnetSetPaths with renamed bots
* Update namespace in Global.asax
Co-authored-by: CeciliaAvila <cecilia.avila@southworks.com>
* [Draft] Merging skills test scenarios (#167)
* adding bots to new structure
* adding teams skill skeleton
* cleaning up js and python directories
* adding Teams manifest directory
* adding gov and teams bots
* saving work before pull
* Created main solution containing all dotnet consumers and skill projects.
Fixed some stylecop issues.
Added missing reference to ProactiveSkillBot.csproj
Rnamed some csproj files to -2.1 and -v3 so they have different names and we can load them in the same solution.
* Added missing bot to the solution
* Added placeholder folder for Composer consumers and skills
* adding channel service configuration
* adding deployment templates to all projects
* removing readmes and service profiles
* updating gitignore and cleaning up files
* removing solutions
* adding attachments bot
* adding auth sample
* skillifying auth
* adding sso bot and host
* updating composer bot
* saving work on sso bot
* Readded some files that got lost in the merges.
Added right click publish files to git ignore
* Renamed composer skill and host to use consistent naming.
Fixed default namespaces for new projects
Updated nuget packages for new projects to 4.11
deleted some old gov bots.
* Deleted some azure pub files that shouldn't be in source control.
* Deleted UserSecretsId from csproj files (some of them were reusing them and that could be problematic)
* Updated prot so each skill has its own and can be launched all at once withouth conflicts if needed.
* Updated didn't understand message with hint with options
* deleted app id from config
Co-authored-by: Gabo Gilabert <ggilaber@microsoft.com>
* Removed custom runtime that I added by mistake
* Deleted some files that I merged by mistake.
Co-authored-by: CeciliaAvila <cecilia.avila@southworks.com>
Co-authored-by: Cecilia Avila <44245136+ceciliaavila@users.noreply.github.com>
Co-authored-by: Monica Rivera <44449640+mrivera-ms@users.noreply.github.com>
Co-authored-by: Gabo Gilabert <ggilaber@microsoft.com>
Co-authored-by: Joel Mut <joel.mut@southworks.com>
Co-authored-by: Gabo Gilabert <gabog@users.noreply.github.com>
Co-authored-by: Ian Luca Scaltritti <ian.scaltritti@southworks.com>
Co-authored-by: Santiago Grangetto <santiago.grangetto@southworks.com>
Co-authored-by: Santiago Grangetto <santiagograngetto@gmail.com>
Co-authored-by: Joel Mut <62260472+sw-joelmut@users.noreply.github.com>
Co-authored-by: Josh <50158775+Virtual-Josh@users.noreply.github.com>