Skip to content

Instantly share code, notes, and snippets.

View rafaeldalsenter's full-sized avatar
🚀

Rafael Dalsenter rafaeldalsenter

🚀
  • Brazil
View GitHub Profile
[Fact]
public async Task Create_DomainIsValid()
{
var dto = new NetflixTitleDto
{
Director = "director",
Country = "country",
DurationMin = 1,
Cast = "cast",
Title = "title"
private ICreateNetflixTitleServices MockServiceForCreate()
{
var mockCassandraContext = new Mock<ICassandraContext>();
mockCassandraContext
.Setup(m => m.InsertAsync<NetflixTitle>(It.IsAny<NetflixTitle>()))
.Returns(() => Task.CompletedTask);
return new CreateNetflixTitleServices(mockCassandraContext.Object);
}
public async Task<NetflixTitleDto> Create(NetflixTitleDto dto)
{
try
{
dto.Id = Guid.NewGuid();
var netFlixTitleDomain = new NetflixTitleBuilder()
.WithTitle(dto.Title)
.WithDirector(dto.Director)
.WithCountry(dto.Country)
public async Task<DirectorsByCountryDto> GetDirectorsByCountry(string countryName)
{
...
try
{
var cqlQuery = @"select director as Name from netflix_titles where country=? allow filtering";
var returnQuery = await _cassandraContext.SelectAsync<string>(cqlQuery, countryName);
[Fact]
public void WithoutTitle_IsInvalid()
{
var domain = new NetflixTitleBuilder()
.WithCast("cast example")
.WithDescription("description example")
.WithId(Guid.NewGuid())
.Build();
Assert.False(domain.IsValid());
public string Title { get; private set; }
...
public void AddTitle(string title)
{
if (title.IsNullOrWhiteSpace())
{
AddError("Faltou preencher o valor 'title'");
return;
public class BlackListHandler : DelegatingHandler
{
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
request.Headers.TryGetValues("CLIENT_ID", out var values);
var clientId = values?.FirstOrDefault();
if (clientId is null)
{
return ReturnBadRequest("Request bloqueada por falta de informações");
{
"ReRoutes": [...],
"Aggregates": [...],
"DelegatingHandlers": [
"BlackListHandler"
],
"GlobalConfiguration": {}
}
public void ConfigureServices(IServiceCollection services)
{
services
.AddOcelot(_configuration)
.AddDelegatingHandler<BlackListHandler>(true);
}
public class BlackListHandler : DelegatingHandler
{
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
return base.SendAsync(request, cancellationToken);
}
}