Ossa.TestFramework.Templates 0.4.0-alpha0048

Additional Details

see latest V1 version

This is a prerelease version of Ossa.TestFramework.Templates.
There is a newer version of this package available.
See the version list below for details.
dotnet new install Ossa.TestFramework.Templates::0.4.0-alpha0048                
This package contains a .NET Template Package you can call from the shell/command line.

#Ossa.TestFramework.Templates

##Overview

The 'Ossa.TestFramework.Templates' Nuget package is a collection of templates designed to speed up the process of creating and deploying Visual studio projects/solutions. It utilises technologies such as .Net, C#, Entity Framework,SQL server, Azure devops, Terraform and testing frameworks such as Nunit, Playwright and Selenium

It benefits the developer by reducing time to wire up and configure every day essentials such as Logging, Dependency Injection, Configuration, Testing and Deployment.

For UI testing, it reduces issues such as updating browser drivers and provides a more stable and reliable testing framework.

It provides an abstraction for the developer to write Web based UI test that can be run with either Selenium or Playwright, without restricting the use of the frameworks native code. Not sure which framework best for you? No problem, you can start coding and switch over when you find and issues or limitations.

It provides a structured template for more complex terraform deployments and Azure Devops pipelines, allowing for a more consistent and reliable deployment process.

It provides an opinionated approach to provide consistency and best practices for the developer, but also allows for customisation and extension.

###List of templates

ossa-prereq

Sets up the prerequisites/invoke-build/folder structure/build and setup powershell files for use with the other templates.

ossa-webapp-server

A simple web app template that can run as a windows service or a console app, and insludes logging, configuration, dependency injection.

ossa-database

A simple database template utilising Entity framework core that can be used to create a database and seed data and implement migrations/updates. It also provides a simple repository pattern for data access.

ossa-test-selenium

A web based UI test project using Selenium and Nunit, with some examples of using Ossa.TestFramework wrapper classes.

ossa-test-playwright

A web based UI test project using Playwright and Nunit, with some examples of using Ossa.TestFramework wrapper classes.

ossa-test-pipelines

A template for setting up a Azure Devops pipeline for a .Net project.

ossa-terraform

A template for setting up a terraform project for deploying nfrastructure as code.

ossa-schema-drift

A template for detecting change in terraform state.

Getting started

We recommend initially starting from a blank solution and adding the templates as required, but you can add the templates to existing solutions. To install the Ossa.TestFramework.Templates Nuget package, follow these steps:

Open the NuGet Package Manager in Visual Studio.
Search for "Ossa.TestFramework.Templates" in the package search bar.
Select the package from the search results.
Click on the "Install" button to add the package to your project.

or alternatively use  ```dotnet new install Ossa.TestFramework.Templates::<version>```

To list available templates, run the following command in a powershell window or package manager: dotnet new --list ossa

To create a new project using the templates, follow these steps:

Open the command prompt or terminal.
Run the following command to create a new project using the desired template:
```dotnet new ossa-webapp-server```
```dotnet new ossa-database```
```dotnet new ossa-test-selenium```
```dotnet new ossa-test-playwright```
```dotnet new ossa-test-pipelines```
```dotnet new ossa-terraform```
```dotnet new ossa-schema-drift```

Replace the template name with the desired template name from the list above.

Reloading or refreshing the solution should show the new project in the solution explorer.

Prerequisites

Depending on desired template you may require all or some of the following:

Visual Studio 2022 or later
.NET 8.0 or later
Azure Devops account
Terraform
SQL Server
Entity Framework Core
Powershell 5.1 or later

Usage

The templates are designed to be used as a starting point for your project, and can be customised and extended as needed. Invoke build commands are pre-prepared to do a variety of tasks such as building, testing, deploying and cleaning up. These can be run by the developer or pipelines.

Some Typical commands are ''' ./build.ps1 generate ''' ''' ./build.ps1 generate-app ''' ''' ./build.ps1 generate-db ''' ''' ./build.ps1 generate-iac ''' ''' ./build.ps1 test-unit ''' ''' ./build.ps1 test-integration ''' ''' ./build.ps1 clean '''

More information is available in the ossa WIKI on how to use the templates and the Ossa packages.

Additional documentation

The package is based around the following Ossa packages: Ossa.TestFramework.Core Ossa.TestFramework.Playwright Ossa.TestFramework.Selenium

The Ossa Utilities WIKI has more information and tutorials on the Ossa packages and how to use them:

The following resources can help you get started with the technologies used in the Ossa.TestFramework.Templates package: Nunit: https://docs.nunit.org/ Invoke Build: https://github.com/nightroman/Invoke-Build/wiki Powershell: https://learn.microsoft.com/en-us/powershell/ Playwright: https://playwright.dev/dotnet/docs/intro Selenium: https://www.selenium.dev/documentation/en/ Azure Devops: https://docs.microsoft.com/en-us/azure/devops/?view=azure-devops Terraform: https://developer.hashicorp.com/terraform/tutorials Entity Framework: https://docs.microsoft.com/en-us/ef/ SQL Server: https://docs.microsoft.com/en-us/sql/sql-server/

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.0-alpha0720 241 6/7/2024
1.0.1 165 6/7/2024
1.0.0-beta0001 101 6/7/2024
0.4.0 120 6/7/2024
0.4.0-alpha0054 115 6/7/2024 0.4.0-alpha0054 is deprecated.
0.4.0-alpha0049 122 6/7/2024 0.4.0-alpha0049 is deprecated.
0.4.0-alpha0048 120 6/7/2024 0.4.0-alpha0048 is deprecated.
0.4.0-alpha0041 127 6/7/2024 0.4.0-alpha0041 is deprecated.
0.4.0-alpha0039 108 6/6/2024
0.4.0-alpha0038 114 6/6/2024
0.4.0-alpha0037 114 6/6/2024
0.4.0-alpha0025 114 6/6/2024
0.4.0-alpha0017 115 6/6/2024
0.4.0-alpha0016 122 6/6/2024
0.4.0-alpha0014 138 6/5/2024
0.4.0-alpha0012 119 6/5/2024
0.4.0-alpha0010 134 6/5/2024
0.4.0-alpha0007 119 6/5/2024
0.4.0-alpha0006 144 6/5/2024
0.4.0-alpha0004 136 6/5/2024
0.4.0-alpha0003 151 6/5/2024
0.4.0-alpha0002 122 6/5/2024
0.4.0-alpha0001 154 6/5/2024 0.4.0-alpha0001 is deprecated.
0.2.0-alpha0705 123 6/4/2024
0.2.0-alpha0701 98 6/3/2024
0.2.0-alpha0696 104 6/3/2024
0.2.0-alpha0692 111 6/3/2024
0.2.0-alpha0690 94 6/3/2024
0.2.0-alpha0688 101 6/3/2024
0.2.0-alpha0670 108 6/3/2024
0.2.0-alpha0668 104 6/2/2024
0.2.0-alpha0662 103 5/30/2024
0.2.0-alpha0651 116 5/29/2024
0.2.0-alpha0650 122 5/29/2024 0.2.0-alpha0650 is deprecated because it has critical bugs.
0.2.0-alpha0641 128 5/29/2024 0.2.0-alpha0641 is deprecated because it has critical bugs.
0.2.0-alpha0639 136 5/29/2024 0.2.0-alpha0639 is deprecated because it has critical bugs.
0.2.0-alpha0634 128 5/28/2024 0.2.0-alpha0634 is deprecated because it has critical bugs.
0.2.0-alpha0622 125 5/28/2024 0.2.0-alpha0622 is deprecated because it has critical bugs.
0.2.0-alpha0617 141 5/24/2024 0.2.0-alpha0617 is deprecated because it has critical bugs.
0.2.0-alpha0608 121 5/23/2024 0.2.0-alpha0608 is deprecated because it has critical bugs.
0.2.0-alpha0602 134 5/23/2024 0.2.0-alpha0602 is deprecated because it has critical bugs.
0.2.0-alpha0598 127 5/23/2024 0.2.0-alpha0598 is deprecated because it has critical bugs.
0.2.0-alpha0596 116 5/22/2024 0.2.0-alpha0596 is deprecated because it has critical bugs.
0.2.0-alpha0593 153 5/22/2024 0.2.0-alpha0593 is deprecated because it has critical bugs.
0.2.0-alpha0583 118 5/22/2024 0.2.0-alpha0583 is deprecated because it has critical bugs.
0.2.0-alpha0581 129 5/22/2024 0.2.0-alpha0581 is deprecated because it has critical bugs.
0.2.0-alpha0576 127 5/21/2024 0.2.0-alpha0576 is deprecated because it has critical bugs.
0.2.0-alpha0575 128 5/21/2024 0.2.0-alpha0575 is deprecated because it has critical bugs.
0.2.0-alpha0563 132 5/21/2024 0.2.0-alpha0563 is deprecated because it has critical bugs.
0.2.0-alpha0561 130 5/21/2024 0.2.0-alpha0561 is deprecated because it has critical bugs.
0.2.0-alpha0548 131 5/20/2024 0.2.0-alpha0548 is deprecated because it has critical bugs.
0.2.0-alpha0547 116 5/20/2024 0.2.0-alpha0547 is deprecated because it has critical bugs.
0.2.0-alpha0539 124 5/17/2024 0.2.0-alpha0539 is deprecated because it has critical bugs.
0.2.0-alpha0501 109 5/10/2024 0.2.0-alpha0501 is deprecated because it has critical bugs.
0.2.0-alpha0433 113 5/2/2024 0.2.0-alpha0433 is deprecated because it has critical bugs.
0.2.0-alpha0408 123 4/28/2024 0.2.0-alpha0408 is deprecated because it has critical bugs.
0.2.0-alpha0401 150 4/22/2024 0.2.0-alpha0401 is deprecated because it has critical bugs.
0.2.0-alpha0399 162 4/19/2024 0.2.0-alpha0399 is deprecated because it has critical bugs.
0.2.0-alpha0398 145 4/18/2024 0.2.0-alpha0398 is deprecated because it has critical bugs.
0.2.0-alpha0396 127 4/18/2024 0.2.0-alpha0396 is deprecated because it has critical bugs.
0.2.0-alpha0395 122 4/18/2024 0.2.0-alpha0395 is deprecated because it has critical bugs.
0.2.0-alpha0352 131 4/18/2024 0.2.0-alpha0352 is deprecated because it has critical bugs.
0.2.0-alpha0350 135 4/18/2024 0.2.0-alpha0350 is deprecated because it has critical bugs.
0.2.0-alpha0349 144 4/17/2024 0.2.0-alpha0349 is deprecated because it has critical bugs.
0.2.0-alpha0347 194 4/16/2024 0.2.0-alpha0347 is deprecated because it has critical bugs.
0.2.0-alpha0346 183 4/12/2024 0.2.0-alpha0346 is deprecated because it has critical bugs.
0.2.0-alpha0345 200 4/12/2024 0.2.0-alpha0345 is deprecated because it has critical bugs.
0.2.0-alpha0339 197 4/12/2024 0.2.0-alpha0339 is deprecated because it has critical bugs.
0.2.0-alpha0337 163 4/11/2024 0.2.0-alpha0337 is deprecated because it has critical bugs.
0.2.0-alpha0335 208 4/11/2024 0.2.0-alpha0335 is deprecated because it has critical bugs.
0.2.0-alpha0333 176 4/10/2024 0.2.0-alpha0333 is deprecated because it has critical bugs.
0.2.0-alpha0309 177 4/10/2024 0.2.0-alpha0309 is deprecated because it has critical bugs.
0.2.0-alpha0307 180 4/4/2024 0.2.0-alpha0307 is deprecated because it has critical bugs.
0.2.0-alpha0305 179 4/3/2024 0.2.0-alpha0305 is deprecated because it has critical bugs.
0.2.0-alpha0303 181 4/2/2024 0.2.0-alpha0303 is deprecated because it has critical bugs.
0.2.0-alpha0294 165 4/1/2024 0.2.0-alpha0294 is deprecated because it has critical bugs.
0.2.0-alpha0293 185 3/28/2024 0.2.0-alpha0293 is deprecated because it has critical bugs.
0.2.0-alpha0292 205 3/28/2024 0.2.0-alpha0292 is deprecated because it has critical bugs.
0.2.0-alpha0291 197 3/27/2024 0.2.0-alpha0291 is deprecated because it has critical bugs.
0.2.0-alpha0290 201 3/27/2024 0.2.0-alpha0290 is deprecated because it has critical bugs.
0.2.0-alpha0283 205 3/26/2024 0.2.0-alpha0283 is deprecated because it has critical bugs.
0.2.0-alpha0273 189 3/24/2024 0.2.0-alpha0273 is deprecated because it has critical bugs.
0.2.0-alpha0271 203 3/24/2024 0.2.0-alpha0271 is deprecated because it has critical bugs.
0.2.0-alpha0264 209 3/24/2024 0.2.0-alpha0264 is deprecated because it has critical bugs.
0.2.0-alpha0260 179 3/24/2024 0.2.0-alpha0260 is deprecated because it has critical bugs.
0.2.0-alpha0234 214 3/21/2024 0.2.0-alpha0234 is deprecated because it has critical bugs.
0.2.0-alpha0218 210 3/20/2024 0.2.0-alpha0218 is deprecated because it has critical bugs.
0.2.0-alpha0217 193 3/19/2024 0.2.0-alpha0217 is deprecated because it has critical bugs.
0.2.0-alpha0212 154 3/19/2024 0.2.0-alpha0212 is deprecated because it has critical bugs.
0.2.0-alpha0204 202 3/18/2024 0.2.0-alpha0204 is deprecated because it has critical bugs.
0.2.0-alpha0202 225 3/18/2024 0.2.0-alpha0202 is deprecated because it has critical bugs.
0.2.0-alpha0127 178 3/17/2024 0.2.0-alpha0127 is deprecated because it has critical bugs.
0.2.0-alpha0114 207 3/7/2024 0.2.0-alpha0114 is deprecated because it has critical bugs.
0.2.0-alpha0110 204 2/29/2024 0.2.0-alpha0110 is deprecated because it has critical bugs.
0.2.0-alpha0108 204 2/28/2024 0.2.0-alpha0108 is deprecated because it has critical bugs.
0.2.0-alpha0105 202 2/28/2024 0.2.0-alpha0105 is deprecated because it has critical bugs.
0.2.0-alpha0099 193 2/28/2024 0.2.0-alpha0099 is deprecated because it has critical bugs.
0.2.0-alpha0096 197 2/28/2024 0.2.0-alpha0096 is deprecated because it has critical bugs.
0.2.0-alpha0094 199 2/28/2024 0.2.0-alpha0094 is deprecated because it has critical bugs.
0.2.0-alpha0078 155 2/27/2024 0.2.0-alpha0078 is deprecated because it has critical bugs.
0.2.0-alpha0076 156 2/27/2024 0.2.0-alpha0076 is deprecated because it has critical bugs.
0.2.0-alpha0074 161 2/26/2024 0.2.0-alpha0074 is deprecated because it has critical bugs.
0.2.0-alpha0071 155 2/23/2024 0.2.0-alpha0071 is deprecated because it has critical bugs.
0.2.0-alpha0069 177 2/23/2024 0.2.0-alpha0069 is deprecated because it has critical bugs.
0.2.0-alpha0064 154 2/19/2024 0.2.0-alpha0064 is deprecated because it has critical bugs.
0.2.0-alpha0061 167 2/18/2024 0.2.0-alpha0061 is deprecated because it has critical bugs.
0.2.0-alpha0056 193 2/14/2024 0.2.0-alpha0056 is deprecated because it has critical bugs.
0.2.0-alpha0049 167 2/13/2024 0.2.0-alpha0049 is deprecated because it has critical bugs.
0.2.0-alpha0048 401 8/2/2023 0.2.0-alpha0048 is deprecated because it has critical bugs.
0.2.0-alpha0047 239 7/28/2023 0.2.0-alpha0047 is deprecated because it has critical bugs.
0.2.0-alpha0046 274 7/27/2023 0.2.0-alpha0046 is deprecated because it has critical bugs.
0.2.0-alpha.45 116 7/19/2023 0.2.0-alpha.45 is deprecated because it has critical bugs.
0.2.0-alpha.44 110 7/7/2023 0.2.0-alpha.44 is deprecated because it has critical bugs.
0.1.0 320 7/7/2023 0.1.0 is deprecated because it has critical bugs.
0.1.0-beta.1-42 110 7/7/2023 0.1.0-beta.1-42 is deprecated because it has critical bugs.
0.1.0-alpha.42 108 7/7/2023 0.1.0-alpha.42 is deprecated because it has critical bugs.
0.0.4-alpha.1 118 7/5/2023 0.0.4-alpha.1 is deprecated because it has critical bugs.
0.0.3 199 7/5/2023 0.0.3 is deprecated because it has critical bugs.
0.0.2 244 6/30/2023 0.0.2 is deprecated because it has critical bugs.
0.0.1 222 6/30/2023 0.0.1 is deprecated because it has critical bugs.