Skip to content

Instantly share code, notes, and snippets.

View danbarua's full-sized avatar

Dan Barua danbarua

  • GSK
  • United Kingdom
View GitHub Profile
public class Indexer
{
private Dictionary<string, List<string>> termToIds =
new Dictionary<string, List<string>>(StringComparer.OrdinalIgnoreCase);
private Dictionary<string, List<string>> idToTerms =
new Dictionary<string, List<string>>(StringComparer.OrdinalIgnoreCase);
public void Index(string docId, string text)
{
@danbarua
danbarua / Global.asax.cs
Created February 18, 2015 11:59
Use TeamCity credentials to auth with NuGet.Server
public class Global : System.Web.HttpApplication
{
private readonly string connectionString = ConfigurationManager.ConnectionStrings["teamCity"].ConnectionString;
protected void Application_Start(object sender, EventArgs e)
{
}
protected void Session_Start(object sender, EventArgs e)
@danbarua
danbarua / Create_Index.sql
Created November 28, 2014 12:07
Speed up NEventStore 3 projection rebuilds with this index
/****** Object: Index [IX_Commits_Ordered] Script Date: 11/28/2014 11:59:00 ******/
CREATE NONCLUSTERED INDEX [IX_Commits_Ordered] ON [dbo].[Commits]
(
[CommitSequence] ASC,
[StreamId] ASC,
[StreamRevision] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = OFF, ALLOW_PAGE_LOCKS = OFF) ON [PRIMARY]
GO
@danbarua
danbarua / PartialFileResponse.cs
Created November 10, 2014 08:22
206 Partial Content responses for Nancy
namespace Infrastructure
{
using System;
using System.Globalization;
using System.IO;
using System.Linq;
using Nancy;
using Util;
@danbarua
danbarua / TestableFileResponse.cs
Created June 17, 2014 15:35
Testable implementation of Nancy's GenericFileResponse
namespace WordWatch.Server.Api
{
using System;
using System.IO;
using System.IO.Abstractions;
using Nancy;
using Nancy.Helpers;
using Nancy.Responses;
@danbarua
danbarua / MessagingAcceptanceTests.cs
Created May 27, 2014 16:32
Courtesey of @the.fridge.ninja
[TestFixture]
public class MessagingAcceptanceTests
{
[Test]
public void All_commands_are_decorated_with_data_contract()
{
var messageTypes = typeof(Command).Assembly.GetTypes()
.Where(typeof(Command).IsAssignableFrom)
.Where(type => type.IsClass && false == type.IsAbstract);
@danbarua
danbarua / ValidationTests.cs
Created May 20, 2014 13:11
Testing FluentValidators with Nancy (appdomain scanning bypassed)
namespace Nancy.Validation.FluentValidation.Tests
{
using System;
using System.Collections.Generic;
using System.Linq;
using Nancy.Bootstrapper;
using Nancy.ModelBinding;
using Nancy.Testing;
using Nancy.TinyIoc;
@danbarua
danbarua / gist:9cdf1601b678081aeef0
Last active August 29, 2015 14:01
Testing in Nancy
public class CreateUserValidator : AbstractValidator<CreateUser>
{
public CreateUserValidator(IUserRepository repository)
{
this.RuleFor(x => x.UserName)
.NotEmpty()
.Length(1, 255);
this.RuleFor(x => x.UserName)
.Must(x => x != null && !x.Any(char.IsWhiteSpace))
@danbarua
danbarua / SystemDateTime.cs
Created April 4, 2014 12:39
SystemDateTime - a mockable implementation of System.DateTime.Now
/// <summary>
/// Provides a mockable implementation of System.DateTime.Now;
/// </summary>
public static class SystemDateTime
{
private static readonly Func<DateTime> DefaultProvider = () => DateTime.Now;
[ThreadStatic]
private static Func<DateTime> dateTimeProvider;
@danbarua
danbarua / ObservableExtensions.cs
Created February 18, 2014 15:32
Reactive Freeswitch ESL Parsing
/// <summary>The observable extensions.</summary>
public static class ObservableExtensions
{
/// <summary>Aggregates a Stream using the supplied Aggregator until the given predicate is true</summary>
/// <param name="source">The source.</param>
/// <param name="seed">The seed.</param>
/// <param name="accumulator">The accumulator.</param>
/// <param name="predicate">A predicate which indicates whether the aggregation is completed.</param>
/// <typeparam name="TSource">The Type of the Source stream.</typeparam>
/// <typeparam name="TAccumulate">The Type of the Accumulator.</typeparam>