Beispiel #1
0
 public SspAuthorizationMiddleware(RequestDelegate next, IOptions <SpineSetting> spineSettings, IMemoryCache memoryCache, INrlsValidation nrlsValidation)
 {
     _next           = next;
     _spineSettings  = spineSettings.Value;
     _cache          = memoryCache;
     _nrlsValidation = nrlsValidation;
 }
Beispiel #2
0
        public SpineAuthorizationTests()
        {
            var spineSettings = new SpineSetting
            {
                Asid = "999"
            };

            var spineSettingsMock = new Mock <IOptions <SpineSetting> >();

            spineSettingsMock.Setup(op => op.Value).Returns(spineSettings);

            var nrlsSettingsMock = new Mock <IOptionsSnapshot <NrlsApiSetting> >();

            nrlsSettingsMock.Setup(op => op.Get(It.IsAny <string>())).Returns(AppSettings.NrlsApiSettings);


            var nrlsValidationMock = new Mock <INrlsValidation>();

            nrlsValidationMock.Setup(x => x.ValidJwt(It.Is <Tuple <JwtScopes, string> >(q => q.Item1 == JwtScopes.Read), It.IsAny <string>())).Returns(new Response(true));
            nrlsValidationMock.Setup(x => x.ValidJwt(It.Is <Tuple <JwtScopes, string> >(q => q.Item1 == JwtScopes.Write), It.IsAny <string>())).Returns(new Response());
            nrlsValidationMock.Setup(x => x.ValidJwt(It.Is <Tuple <JwtScopes, string> >(q => q.Item1 == JwtScopes.Write), It.Is <string>(s => s.Contains("-for-patch")))).Returns(new Response(true));

            var sdsMock = new Mock <ISdsService>();

            sdsMock.Setup(op => op.GetFor(It.IsAny <string>())).Returns((SdsViewModel)null);
            sdsMock.Setup(op => op.GetFor(It.Is <string>(x => x == "000"))).Returns(SdsViewModels.SdsAsid000);
            sdsMock.Setup(op => op.GetFor(It.Is <string>(x => x == "002"))).Returns(SdsViewModels.SdsAsid002);
            sdsMock.Setup(op => op.GetFor(It.Is <string>(x => x == "20000000018"))).Returns(SdsViewModels.SdsAsid20000000018);

            _sdsService     = sdsMock.Object;
            _spineSettings  = spineSettingsMock.Object;
            _nrlsSettings   = nrlsSettingsMock.Object;
            _nrlsValidation = nrlsValidationMock.Object;
        }
 public SpineAuthorizationMiddleware(RequestDelegate next, IOptions <SpineSetting> spineSettings, ISdsService sdsService, INrlsValidation nrlsValidation)
 {
     _next           = next;
     _spineSettings  = spineSettings.Value;
     _sdsService     = sdsService;
     _nrlsValidation = nrlsValidation;
 }
Beispiel #4
0
        public SspAuthorizationTests()
        {
            var spineSettings = new SpineSetting
            {
                Asid = "999"
            };

            var spineSettingsMock = new Mock <IOptions <SpineSetting> >();

            spineSettingsMock.Setup(op => op.Value).Returns(spineSettings);

            var nrlsSettingsMock = new Mock <IOptionsSnapshot <NrlsApiSetting> >();

            nrlsSettingsMock.Setup(op => op.Get(It.IsAny <string>())).Returns(AppSettings.NrlsApiSettings);


            var nrlsValidationMock = new Mock <INrlsValidation>();

            nrlsValidationMock.Setup(x => x.ValidJwt(It.Is <JwtScopes>(q => q == JwtScopes.Read), It.IsAny <string>())).Returns(new Response(true));
            nrlsValidationMock.Setup(x => x.ValidJwt(It.Is <JwtScopes>(q => q == JwtScopes.Write), It.IsAny <string>())).Returns(new Response());

            var clientMapCache = new ClientAsidMap
            {
                ClientAsids = new Dictionary <string, ClientAsid>()
                {
                    { "000", new ClientAsid {
                          Interactions = new List <string> {
                              "urn:nhs:names:services:nrls:fhir:rest:read:documentreference"
                          }, OrgCode = "TestOrgCode", Thumbprint = "TestThumbprint"
                      } },
                    { "002", new ClientAsid {
                          Interactions = new List <string>(), OrgCode = "TestOrgCode2", Thumbprint = "TestThumbprint"
                      } }
                }
            };

            _cache = MemoryCacheStub.MockMemoryCacheService.GetMemoryCache(clientMapCache);

            _spineSettings  = spineSettingsMock.Object;
            _nrlsSettings   = nrlsSettingsMock.Object;
            _nrlsValidation = nrlsValidationMock.Object;
        }
        public SspProxyGateMiddlewareTests()
        {
            var nrlsValidationMock = new Mock <INrlsValidation>();

            nrlsValidationMock.Setup(x => x.ValidJwt(It.Is <Tuple <JwtScopes, string> >(q => q.Item1 == JwtScopes.Read), It.IsAny <string>())).Returns(new Response(true));
            nrlsValidationMock.Setup(x => x.ValidJwt(It.Is <Tuple <JwtScopes, string> >(q => q.Item1 == JwtScopes.Read), It.Is <string>(j => j == "invalid-jwt"))).Returns(new Response());

            var sdsMock = new Mock <ISdsService>();

            sdsMock.Setup(op => op.GetFor(It.IsAny <string>())).Returns((SdsViewModel)null);
            sdsMock.Setup(op => op.GetFor(It.Is <string>(x => x == "000"))).Returns(SdsViewModels.SdsAsid000);
            sdsMock.Setup(op => op.GetFor(It.Is <string>(x => x == "002"))).Returns(SdsViewModels.SdsAsid002);
            sdsMock.Setup(op => op.GetFor(It.Is <string>(x => x == "999"))).Returns(SdsViewModels.SdsAsid999);
            sdsMock.Setup(op => op.GetFor(It.Is <string>(x => x == SdsViewModels.SdsAsid999.OdsCode), It.Is <string>(x => x == FhirConstants.ReadInteractionId))).Returns(SdsViewModels.SdsAsid000);
            sdsMock.Setup(op => op.GetFor(It.Is <string>(x => x == SdsViewModels.SdsAsid888.OdsCode), It.Is <string>(x => x == FhirConstants.ReadInteractionId))).Returns(delegate { return(null); });
            sdsMock.Setup(op => op.GetFor(It.Is <string>(x => x == SdsViewModels.SdsAsid888.OdsCode), It.Is <string>(x => x == "valid-interaction"))).Returns(SdsViewModels.SdsAsid888);

            _sdsService     = sdsMock.Object;
            _nrlsValidation = nrlsValidationMock.Object;
        }
 public SspProxyGateMiddleware(RequestDelegate next, ISdsService sdsService, INrlsValidation nrlsValidation)
 {
     _next           = next;
     _sdsService     = sdsService;
     _nrlsValidation = nrlsValidation;
 }
 public void Dispose()
 {
     _sdsService     = null;
     _nrlsValidation = null;
 }