Skip to content

Instantly share code, notes, and snippets.

View CoditCompany's full-sized avatar
👋
You can find us on @CoditEU

Codit CoditCompany

👋
You can find us on @CoditEU
View GitHub Profile
param(
[string][parameter(Mandatory = $true)] $keyVaultName
)
$keyVaultAccessPolicies = (Get-AzureRMKeyVault -VaultName $keyVaultName).accessPolicies
$armAccessPolicies = @()
if($keyVaultAccessPolicies)
{
@CoditCompany
CoditCompany / KeyVault.json
Last active October 29, 2018 13:25
Key Vault Deployment
[
{
"apiVersion": "2016-10-01",
"location": "[parameters('location')]",
"name": "[variables('keyVaultName')]",
"properties": {
"enabledForDeployment": false,
"enabledForDiskEncryption": false,
"enabledForTemplateDeployment": true,
"tenantId": "[subscription().tenantId]",
#r "System.Security"
using System.Net;
using System.Text;
using System.Security.Cryptography;
private const string Sha1Prefix = "sha1=";
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
@CoditCompany
CoditCompany / fsharp-rx-marble-filter.fs
Last active February 18, 2020 16:35
F# reactive marble testing of the filter operator
[<Fact>]
let ``filter emit only those items from an observable that pass a predicate test`` () =
TestSchedule.usage <| fun sch ->
let stub = cold "--2-(30)--(22)-5--(60)-1--|" sch
let expected = "-- -(30)--(22)- --(60)- --|"
stub |> Observable.filter (fun x -> int x > 10)
|> Marbles.expectMessages sch expected
@CoditCompany
CoditCompany / Automating-URL-Bogus-Discovery.fs
Last active August 31, 2018 11:54
Automating URL Bogus Discovery
let stubQueryParams =
[ "category", Arb.generate<string>
"style", Arb.generate<string>
"size", Arb.generate<string> ]
|> Map.ofList
[<Property>]
let ``URL bogus query parameters doesn't alter HTTP status`` () =
stubQueryParams
|> FSec.urlBogus "http://example.com"
@CoditCompany
CoditCompany / Automating-SQL-Injection-Discovery.fs
Last active August 31, 2018 11:55
Automating SQL Injection Discovery with FSec
let getOrderIdsForName name =
use con = new SqlConnection "my-connection-string"
con.Open ()
let sql = "SELECT OrderId FROM Orders WHERE Client = " + name
use cmd = new SqlCommand (sql, con)
cmd.CommandType <- CommandType.Text
let rdr = cmd.ExecuteReader ()
seq { while rdr.Read () do
yield rdr.["OrderId"] |> string }
@CoditCompany
CoditCompany / test.cs
Created August 7, 2018 13:12
Writing integration tests for Azure Event Grid - Test
[Fact]
public async Task Publish_ValidParameters_Succeeds()
{
// Arrange
var topicEndpoint = "<topic-endpoint>";
var endpointKey = "<endpoint-key>";
const string eventSubject = "integration-test";
const string eventType = "integration-test-event";
const string licensePlate = "1-TOM-337";
var eventId = Guid.NewGuid().ToString();
@CoditCompany
CoditCompany / openapi-changes-1.cs
Last active April 13, 2018 16:46
Changes to OpenAPI interpretation in Azure API Management
/// <summary>
/// Gets the current health status of the API
/// </summary>
[HttpGet]
[Route("health")]
[SwaggerOperation("Get Health")]
[SwaggerResponse(HttpStatusCode.OK, "API is up & running")]
[SwaggerResponse(HttpStatusCode.InternalServerError, "API is not available")]
public IHttpActionResult Get()
{
@CoditCompany
CoditCompany / CodeView-DynamicApiConnection_UsingIntegrationAccount.json
Created December 4, 2017 14:20
CodeView of a LogicApp which dynamically defines the API Connection to be used, based on information retrieved from the Integration Account partner-metadata.
{
"$connections": {
"value": {
"FirstAPI": {
"connectionId": "/subscriptions/<subscriptionId>/resourceGroups/LogicApps_APIConn_ARM/providers/Microsoft.Web/connections/FirstAPI",
"connectionName": "FirstAPI",
"id": "/subscriptions/<subscriptionId>/providers/Microsoft.Web/locations/southcentralus/managedApis/ftp"
},
"SecondAPI": {
"connectionId": "/subscriptions/<subscriptionId>/resourceGroups/LogicApps_APIConn_ARM/providers/Microsoft.Web/connections/SecondAPI",
@CoditCompany
CoditCompany / CodeView_LogicApps_2APIConnections.json
Created December 4, 2017 14:11
CodeView of a LogicApp dynamically referring to the API Connection to be used, based on a value from a HTTP Header from the inbound request.
{
"$connections": {
"value": {
"FirstAPI": {
"connectionId": "/subscriptions/<subscriptionId>/resourceGroups/LogicApps_APIConn/providers/Microsoft.Web/connections/FirstAPI",
"connectionName": "FirstAPI",
"id": "/subscriptions/<subscriptionId>/providers/Microsoft.Web/locations/northeurope/managedApis/ftp"
},
"SecondAPI": {
"connectionId": "/subscriptions/<subscriptionId>/resourceGroups/LogicApps_APIConn/providers/Microsoft.Web/connections/SecondAPI",