Esempio n. 1
0
        public void Given_service_set_When_adding_description_for_existing_services_When_can_get_it_back()
        {
            var set           = new ScriptServiceSet();
            var service       = new object();
            var scriptService = new ScriptService()
            {
                Name = "Test service", Version = 1
            };
            var scriptServiceSchema = new ScriptServiceSchema()
            {
                AccessName = "test",
                Language   = Language.JavaScriptEs5
            };

            set.Add(scriptService, service, scriptServiceSchema);

            IReadOnlyCollection <ScriptServiceSchema>?resolvedSchema = null;
            object?resolvedService = null;

            set.Inject((sc, s) =>
            {
                resolvedSchema  = sc;
                resolvedService = s;
            }, scriptService);

            resolvedService.Should().Be(service);
            resolvedSchema.Should().BeEquivalentTo(scriptServiceSchema);
        }
Esempio n. 2
0
        public void Given_service_set_When_injecting_required_existing_services_with_wrong_version_When_error_occurs()
        {
            var set     = new ScriptServiceSet();
            var service = new object();

            set.Add(new ScriptService()
            {
                Name = "Test service", Version = 1
            }, service);

            set.Invoking(s => s.Inject((sc, s) => { }, new ScriptService()
            {
                Name = "Test service", Version = 2
            }))
            .Should()
            .Throw <MissingServiceException>();
        }
Esempio n. 3
0
        public void Given_service_set_When_injecting_existing_services_When_injector_is_called_with_provided_service_and_schemas()
        {
            var set        = new ScriptServiceSet();
            var service    = new object();
            var descriptor = new ScriptService()
            {
                Name = "Test service", Version = 1
            };

            set.Add(descriptor, service);

            object?resolved = null;
            IReadOnlyCollection <ScriptServiceSchema> schemas = null;

            set.Inject((sc, s) =>
            {
                resolved = s;
                schemas  = sc;
            }, descriptor);

            resolved.Should().Be(service);
            schemas.Should().BeEquivalentTo(ScriptServiceSchema.Default(descriptor));
        }
Esempio n. 4
0
 public JintNodeExecutor(ScriptServiceSet?serviceSet = null)
 {
     _serviceSet = serviceSet ?? new ScriptServiceSet();
     _engine     = new Engine();
 }