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 111 6/7/2024
1.0.1 79 6/7/2024
1.0.0-beta0001 55 6/7/2024
0.4.0 64 6/7/2024
0.4.0-alpha0054 78 6/7/2024
0.4.0-alpha0049 75 6/7/2024
0.4.0-alpha0048 77 6/7/2024
0.4.0-alpha0041 77 6/7/2024
0.4.0-alpha0039 66 6/6/2024
0.4.0-alpha0038 74 6/6/2024
0.4.0-alpha0037 74 6/6/2024
0.4.0-alpha0025 73 6/6/2024
0.4.0-alpha0017 71 6/6/2024
0.4.0-alpha0016 75 6/6/2024
0.4.0-alpha0014 92 6/5/2024
0.4.0-alpha0012 74 6/5/2024
0.4.0-alpha0010 87 6/5/2024
0.4.0-alpha0007 79 6/5/2024
0.4.0-alpha0006 89 6/5/2024
0.4.0-alpha0004 90 6/5/2024
0.4.0-alpha0003 89 6/5/2024
0.4.0-alpha0002 77 6/5/2024
0.4.0-alpha0001 107 6/5/2024
0.2.0-alpha0705 80 6/4/2024
0.2.0-alpha0701 60 6/3/2024
0.2.0-alpha0696 64 6/3/2024
0.2.0-alpha0692 64 6/3/2024
0.2.0-alpha0690 62 6/3/2024
0.2.0-alpha0688 60 6/3/2024
0.2.0-alpha0670 69 6/3/2024
0.2.0-alpha0668 63 6/2/2024
0.2.0-alpha0662 61 5/30/2024
0.2.0-alpha0651 78 5/29/2024
0.2.0-alpha0650 86 5/29/2024
0.2.0-alpha0641 89 5/29/2024
0.2.0-alpha0639 95 5/29/2024
0.2.0-alpha0634 85 5/28/2024
0.2.0-alpha0622 84 5/28/2024
0.2.0-alpha0617 104 5/24/2024
0.2.0-alpha0608 88 5/23/2024
0.2.0-alpha0602 92 5/23/2024
0.2.0-alpha0598 89 5/23/2024
0.2.0-alpha0596 79 5/22/2024
0.2.0-alpha0593 91 5/22/2024
0.2.0-alpha0583 77 5/22/2024
0.2.0-alpha0581 88 5/22/2024
0.2.0-alpha0576 87 5/21/2024
0.2.0-alpha0575 90 5/21/2024
0.2.0-alpha0563 93 5/21/2024
0.2.0-alpha0561 93 5/21/2024
0.2.0-alpha0548 90 5/20/2024
0.2.0-alpha0547 79 5/20/2024
0.2.0-alpha0539 87 5/17/2024
0.2.0-alpha0501 75 5/10/2024
0.2.0-alpha0433 77 5/2/2024
0.2.0-alpha0408 88 4/28/2024
0.2.0-alpha0401 114 4/22/2024
0.2.0-alpha0399 102 4/19/2024
0.2.0-alpha0398 110 4/18/2024
0.2.0-alpha0396 95 4/18/2024
0.2.0-alpha0395 85 4/18/2024
0.2.0-alpha0352 93 4/18/2024
0.2.0-alpha0350 95 4/18/2024
0.2.0-alpha0349 107 4/17/2024
0.2.0-alpha0347 154 4/16/2024
0.2.0-alpha0346 120 4/12/2024
0.2.0-alpha0345 160 4/12/2024
0.2.0-alpha0339 154 4/12/2024
0.2.0-alpha0337 133 4/11/2024
0.2.0-alpha0335 167 4/11/2024
0.2.0-alpha0333 138 4/10/2024
0.2.0-alpha0309 134 4/10/2024
0.2.0-alpha0307 141 4/4/2024
0.2.0-alpha0305 137 4/3/2024
0.2.0-alpha0303 143 4/2/2024
0.2.0-alpha0294 130 4/1/2024
0.2.0-alpha0293 143 3/28/2024
0.2.0-alpha0292 154 3/28/2024
0.2.0-alpha0291 155 3/27/2024
0.2.0-alpha0290 164 3/27/2024
0.2.0-alpha0283 163 3/26/2024
0.2.0-alpha0273 152 3/24/2024
0.2.0-alpha0271 165 3/24/2024
0.2.0-alpha0264 168 3/24/2024
0.2.0-alpha0260 141 3/24/2024
0.2.0-alpha0234 176 3/21/2024
0.2.0-alpha0218 174 3/20/2024
0.2.0-alpha0217 159 3/19/2024
0.2.0-alpha0212 122 3/19/2024
0.2.0-alpha0204 162 3/18/2024
0.2.0-alpha0202 184 3/18/2024
0.2.0-alpha0127 132 3/17/2024
0.2.0-alpha0114 169 3/7/2024
0.2.0-alpha0110 167 2/29/2024
0.2.0-alpha0108 166 2/28/2024
0.2.0-alpha0105 168 2/28/2024
0.2.0-alpha0099 156 2/28/2024
0.2.0-alpha0096 151 2/28/2024
0.2.0-alpha0094 157 2/28/2024
0.2.0-alpha0078 128 2/27/2024
0.2.0-alpha0076 126 2/27/2024
0.2.0-alpha0074 132 2/26/2024
0.2.0-alpha0071 127 2/23/2024
0.2.0-alpha0069 147 2/23/2024
0.2.0-alpha0064 125 2/19/2024
0.2.0-alpha0061 121 2/18/2024
0.2.0-alpha0056 138 2/14/2024
0.2.0-alpha0049 133 2/13/2024
0.2.0-alpha0048 373 8/2/2023
0.2.0-alpha0047 209 7/28/2023
0.2.0-alpha0046 245 7/27/2023
0.2.0-alpha.45 97 7/19/2023
0.2.0-alpha.44 92 7/7/2023
0.1.0 286 7/7/2023
0.1.0-beta.1-42 91 7/7/2023
0.1.0-alpha.42 90 7/7/2023
0.0.4-alpha.1 99 7/5/2023
0.0.3 160 7/5/2023
0.0.2 210 6/30/2023
0.0.1 185 6/30/2023