Skip to content
Snippets Groups Projects
Select Git revision
  • 2bc49f7f2cce7dbb8c0c0fd71e08cf37b7d8a0f2
  • master default protected
  • dev protected
  • gitkeep
  • Issue/2463-newCoscinePIDTypes
  • Issue/2309-docs
  • Issue/2259-updatePids
  • Issue/1910-MigrationtoNET6.0
  • Sprint/2022-01
  • Sprint/2021-03
  • Product/1287-dotnet5Sharepoint
  • Topic/1334-dotnet5migration
  • Sprint/2021-01
  • Product/407-net5migration
  • Topic/1226-proxyApiLibraryMigration
  • v3.0.3
  • v3.0.2
  • v3.0.1
  • v3.0.0
  • v2.1.0
  • v2.0.0
  • v1.4.0
  • v1.3.0
  • v1.2.1
  • v1.2.0
  • v1.1.0
  • v1.0.0
27 results

EpicClientTests.cs

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    EpicClientTests.cs 3.81 KiB
    using Coscine.Configuration;
    using Coscine.ProxyApi.Utils;
    using NUnit.Framework;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    
    namespace Coscine.ProxyApi.Tests
    {
        [TestFixture]
        public class EpicClientTests
        {
            private readonly IConfiguration _configuration;
            private readonly string _prefix;
            private readonly EpicClient _epicClient;
            private readonly string _guid;
    
            public EpicClientTests()
            {
                // default localhost
                _configuration = new ConsulConfiguration();
    
                _prefix = _configuration.GetString("coscine/global/epic/prefix");
    
                _epicClient = new EpicClient(
                    _configuration.GetString("coscine/global/epic/url"),
                    _prefix,
                    _configuration.GetString("coscine/global/epic/user"),
                    _configuration.GetString("coscine/global/epic/password")
                );
                _guid = Guid.NewGuid().ToString();
            }
    
            [TearDown]
            public void DeleteCreatedPid()
            {
                _epicClient.Delete(_guid);
            }
    
            [Test]
            public void TestCreate()
            {
                List<EpicData> list = GetPIDValues("pid/?pid={{pid}}");
    
                var epicData = _epicClient.Create(list, _guid.ToString());
                Assert.NotNull(epicData);
                Assert.IsTrue(epicData.EpicPid == _prefix + "/" + _guid.ToString());
    
                var epicDataList = _epicClient.Get(_guid.ToString());
                Assert.IsTrue(epicDataList.Any());
            }
    
            [Test]
            public void TestUpdate()
            {
                // Use old URL
                List<EpicData> list = GetPIDValues("coscine/apps/pidresolve/?pid={{pid}}");
    
                var epicData = _epicClient.Create(list, _guid.ToString());
                Assert.NotNull(epicData);
                Assert.IsTrue(epicData.EpicPid == _prefix + "/" + _guid.ToString());
    
                var epicDataList = _epicClient.Get(_guid.ToString());
                Assert.IsTrue(epicDataList.Any(e => e.ParsedData.ToString().Contains("coscine/apps/pidresolve/?pid=")));
                Assert.IsFalse(epicDataList.Any(e => e.ParsedData.ToString().Contains("pid/?pid=")));
    
                // Use new URL
                List<EpicData> listNew = GetPIDValues("pid/?pid={{pid}}");
    
                _epicClient.Update(_guid.ToString(), listNew);