public string CreateToken(int userId, string role) { var jwtKey = appSettings.Secrets?.JwtKey; if (string.IsNullOrWhiteSpace(jwtKey)) { throw new ConfigurationException(nameof(jwtKey)); } var tokenHandler = new JwtSecurityTokenHandler(); var key = ASCII.GetBytes(jwtKey); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, userId.ToString()), new Claim(ClaimTypes.Role, role) }), Expires = UtcNow.AddHours(appSettings.JwtExpirationTimeHours), SigningCredentials = new SigningCredentials( new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); var tokenString = tokenHandler.WriteToken(token); return(tokenString); }
internal DownloadMetadata2CatalogAsyncTest() { UtcNow = DateTime.UtcNow; LastCreated = UtcNow.AddHours(-3); LastEdited = UtcNow.AddHours(-2); LastDeleted = UtcNow.AddHours(-1); Packages = new SortedList <DateTime, IList <FeedPackageDetails> >(); PackageCatalogItemCreator = new Mock <IPackageCatalogItemCreator>(MockBehavior.Strict); Storage = new Mock <IStorage>(MockBehavior.Strict); TelemetryService = new Mock <ITelemetryService>(MockBehavior.Strict); Logger = new Mock <ILogger>(); CatalogBaseUri = new Uri("https://nuget.test/v3-catalog0/"); CatalogIndexUri = new Uri(CatalogBaseUri, "index.json"); Storage.Setup(x => x.ResolveUri( It.Is <string>(relativeUri => relativeUri == "index.json"))) .Returns(CatalogIndexUri); FeedPackageDetails = new FeedPackageDetails( new Uri("https://nuget.test/packages/a"), UtcNow.AddMinutes(-45), UtcNow.AddMinutes(-30), UtcNow.AddMinutes(-15), packageId: "a", packageVersion: "1.0.0"); }
public void get_delivery_time_should_return_now_plus_delay() { // arrange var when = UtcNow.AddHours(1d); var options = new SendOptions().DelayDeliveryBy(FromHours(1d)); // act var deliveryTime = options.GetDeliveryTime(); // assert deliveryTime.Should().BeOnOrAfter(when); }