Skip to content

Instantly share code, notes, and snippets.

View gasparnagy's full-sized avatar

Gáspár Nagy gasparnagy

View GitHub Profile
@gasparnagy
gasparnagy / XingClient.cs
Created November 6, 2012 13:10
DotNetOpenAuth client for XING
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Xml;
using System.Xml.Linq;
using DotNetOpenAuth.AspNet;
using DotNetOpenAuth.AspNet.Clients;
using DotNetOpenAuth.Messaging;
class TfsGitSession : IDisposable
{
IDisposable httpsDefinition;
public TfsGitSession()
{
// we need to perform this... through reflection
//httpsDefinition = new SmartSubtransportDefinition<TfsSmartSubtransport>("https://", 2);
var tfsSmartSubTransportType = Type.GetType("Microsoft.TeamFoundation.Git.CoreServices.TfsSmartSubtransport, Microsoft.TeamFoundation.Git.CoreServices, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", true);
@gasparnagy
gasparnagy / TestFolders.cs
Last active January 3, 2016 21:18
Simple helper method that I use in integration tests to have more consistent notion and implementation of the different test folders.
using System;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
namespace TechTalk.SpecRun.Helpers
{
internal static class TestFolders
{
[BeforeScenario]
public void BeforeScenario()
{
var tablesToClean = new[] {"OrderItems", "Orders", "Audit"};
using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DB"].ConnectionString))
{
foreach (var table in tablesToClean)
{
connection.Open();
using (var cmd = new SqlCommand("TRUNCATE TABLE " + table, connection))
@gasparnagy
gasparnagy / SetupStepArgumentConverterForAssist.cs
Created December 21, 2015 08:05
Configure SpecFlow v2 Assist Table helpers to use [StepArgumentTransformation] extensions
/// <summary>
/// Sets the step argument conversion infrasuructure as default for CreateSet and CreateInstance
/// </summary>
/// <remarks>
/// This method has to be called once, in a static ctor for example. Note: this way of setting is not
/// supported for parallel execution.
/// </remarks>
private static void SetupStepArgumentConverterValueRetriever()
{
var assistService = TechTalk.SpecFlow.Assist.Service.Instance;
@gasparnagy
gasparnagy / ShoopingCart.feature
Last active February 9, 2016 21:57
Examples for blog post "SpecFlow tips: Feature file backgrounds -- like them or not"
Feature: Shopping Cart
Scenario: Books can be added to the cart
Given the following books
| Author | Title | Price |
| Martin Fowler | Analysis Patterns | 50.20 |
| Eric Evans | Domain Driven Design | 46.34 |
| Ted Pattison | Inside Windows SharePoint Services | 31.49 |
| Gojko Adzic | Bridging the Communication Gap | 24.75 |
And I am logged in
@gasparnagy
gasparnagy / Addition.feature
Last active February 23, 2016 07:11
Examples for blog post "Running SpecFlow scenarios parallel with xUnit 2"
Feature: Addition
Scenario Outline: Add two numbers
Given I have entered <a> into the calculator
And I have entered <b> into the calculator
When I press add
Then the result should be <result> on the screen
Examples:
| case | a | b | result |
@gasparnagy
gasparnagy / OrderedHooks.cs
Last active March 1, 2016 09:29
Code examples for post: SpecFlow Tips: Put your hooks in order
[BeforeScenario(Order = 10)]
public void ResetDatabase()
{
myDatabase.ResetToBaseline();
}
[BeforeScenario("login", Order = 20)]
public void LoginAUser()
{
loginPage.GoTo();
@gasparnagy
gasparnagy / AfterScenarioOnError.cs
Last active June 20, 2019 00:00
Code examples for post: SpecFlow Tips: Collect more information on error (part 1)
[AfterScenario]
public void OnError()
{
if (ScenarioContext.Current.TestError != null)
{
//TODO: save useful information to a file
}
}
[Binding]
public class CalculatorSteps
{
private readonly CalculatorController controller = new CalculatorController();
...
}