From 3e89c15b6befed1c28ad89d5936fe94561cfe4b4 Mon Sep 17 00:00:00 2001 From: Andy Date: Thu, 2 May 2024 14:32:58 +0100 Subject: [PATCH] Remove unhelpful functions --- README.md | 4 +- carbon-intensity-sdk.sln | 1 + nightly.yml | 26 +++++++++++ .../CarbonIntensityClient.Intensity.cs | 28 +----------- .../WhenGettingIntensity.cs | 43 ------------------- 5 files changed, 29 insertions(+), 73 deletions(-) create mode 100644 nightly.yml diff --git a/README.md b/README.md index b466051..dec3dcc 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ An unofficial library for the [Carbon Intensity API](https://carbonintensity.org.uk/) for use in C# applications. -This package is still under development! - ## Getting Started 1. Install the package from NuGet @@ -19,4 +17,4 @@ builder.Services.AddCarbonIntensitySdk(); The original documentation for the Carbon Intensity API can be found [here](https://carbon-intensity.github.io/api-definitions/#carbon-intensity-api-v2-0-0). ## Terms of Use -Ensure you abide by the terms of use for the Carbon Intensity API. You can find them [here](https://carbonintensity.org.uk/terms/). \ No newline at end of file +It is your responsibility to nsure you abide by the terms of use for the Carbon Intensity API. You can find them [here](https://carbonintensity.org.uk/terms/). \ No newline at end of file diff --git a/carbon-intensity-sdk.sln b/carbon-intensity-sdk.sln index 534b3cc..afbcf68 100644 --- a/carbon-intensity-sdk.sln +++ b/carbon-intensity-sdk.sln @@ -10,6 +10,7 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "github", "github", "{91033E69-A766-41DB-A3DD-FEC8078B31AF}" ProjectSection(SolutionItems) = preProject .github\workflows\dotnet.yml = .github\workflows\dotnet.yml + nightly.yml = nightly.yml EndProjectSection EndProject Global diff --git a/nightly.yml b/nightly.yml new file mode 100644 index 0000000..736908e --- /dev/null +++ b/nightly.yml @@ -0,0 +1,26 @@ +name: carbon-intensity-sdk-nightly + +on: + schedule: + - cron: '0 0 * * *' + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + + - name: Restore dependencies + run: dotnet restore + + - name: Build + run: dotnet build --no-restore + + - name: Integration Tests + run: dotnet test --no-build --verbosity normal \ No newline at end of file diff --git a/src/carbon-intensity-sdk/CarbonIntensityClient.Intensity.cs b/src/carbon-intensity-sdk/CarbonIntensityClient.Intensity.cs index 98383bc..a99e48b 100644 --- a/src/carbon-intensity-sdk/CarbonIntensityClient.Intensity.cs +++ b/src/carbon-intensity-sdk/CarbonIntensityClient.Intensity.cs @@ -18,17 +18,6 @@ public async Task GetIntensityForCurrentHalfHour() return data.Data[0]; } - /// - /// Get Carbon Intensity data for today - /// - /// - public async Task GetIntensitiesForToday() - { - var data = await facade.CallApi>("intensity/date"); - - return data.Data; - } - /// /// Get Carbon Intensity data for specific date /// @@ -36,26 +25,11 @@ public async Task GetIntensitiesForToday() /// public async Task GetIntensitiesForDate(DateTime date) { - var data = await facade.CallApi>($"intensity/date/{date:yyyy-MM-dd}"); + var data = await facade.CallApi>($"intensity/date/{date:yyyy-MM-dd}T00:00:00Z"); return data.Data; } - /// - /// Get Carbon Intensity data for a specific date and half hour settlement period - /// - /// Date in YYYY-MM-DD format e.g. 2017-08-25 - /// Half hour settlement period between 1-48 e.g. 42 - /// - public async Task GetIntensityForDateAndPeriod(DateTime date, int period) - { - var data = await facade.CallApi>($"intensity/date/{date:yyyy-MM-dd}/{period}"); - - data.Data.AssertHasSingleEntry(); - - return data.Data[0]; - } - /// /// Get Carbon Intensity factors for each fuel type /// diff --git a/tests/carbon-intensity-sdk.test/WhenGettingIntensity.cs b/tests/carbon-intensity-sdk.test/WhenGettingIntensity.cs index bddb520..a4c90d9 100644 --- a/tests/carbon-intensity-sdk.test/WhenGettingIntensity.cs +++ b/tests/carbon-intensity-sdk.test/WhenGettingIntensity.cs @@ -15,49 +15,6 @@ public async Task ShouldGetIntensityForCurrentHalfHour() _ = await client.GetIntensityForCurrentHalfHour(); } - [Fact] - public async Task ShouldGetIntensitiesForToday() - { - var fixture = new Fixture(); - - var client = fixture.Create(); - var intensities = await client.GetIntensitiesForToday(); - - intensities.Length.ShouldBe(48); - intensities.MinBy(x => x.FromUtc)!.FromUtc.ShouldBe(DateTime.Today); - intensities.MaxBy(x => x.ToUtc)!.ToUtc.ShouldBe(DateTime.Today.AddDays(1)); - } - - [Fact] - public async Task ShouldGetIntensitiesForDate() - { - var fixture = new Fixture(); - - var client = fixture.Create(); - - var date = DateTime.Today.AddDays(-1); - var intensities = await client.GetIntensitiesForDate(date); - - intensities.Length.ShouldBe(48); - intensities.MinBy(x => x.FromUtc)!.FromUtc.ShouldBe(date); - intensities.MaxBy(x => x.ToUtc)!.ToUtc.ShouldBe(date.AddDays(1)); - } - - [Fact] - public async Task ShouldGetIntensityForDateAndPeriod() - { - var fixture = new Fixture(); - - var client = fixture.Create(); - - var date = DateTime.Today.AddDays(-1); - int period = 5; - var intensity = await client.GetIntensityForDateAndPeriod(date, period); - - intensity.FromUtc.ShouldBe(date.AddMinutes(30 * (period - 1))); - intensity.ToUtc.ShouldBe(date.AddMinutes(30 * period)); - } - [Fact] public async Task ShouldGetCarbonFactors() {