summaryrefslogtreecommitdiffstats
path: root/container-core/src/test/java/com/yahoo/container/xml/providers/XMLProviderTest.java
blob: df0238c88a92b8578b19c1a027c8dddce8a2513e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.xml.providers;

import com.yahoo.container.Server;
import com.yahoo.container.xml.bind.JAXBContextFactory;
import com.yahoo.container.xml.providers.DatatypeFactoryProvider;
import com.yahoo.container.xml.providers.DocumentBuilderFactoryProvider;
import com.yahoo.container.xml.providers.JAXBContextFactoryProvider;
import com.yahoo.container.xml.providers.SAXParserFactoryProvider;
import com.yahoo.container.xml.providers.SchemaFactoryProvider;
import com.yahoo.container.xml.providers.TransformerFactoryProvider;
import com.yahoo.container.xml.providers.XMLEventFactoryProvider;
import com.yahoo.container.xml.providers.XMLInputFactoryProvider;
import com.yahoo.container.xml.providers.XMLOutputFactoryProvider;
import com.yahoo.container.xml.providers.XPathFactoryProvider;
import org.junit.Test;

import javax.xml.datatype.DatatypeFactory;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.stream.XMLEventFactory;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.transform.TransformerFactory;
import javax.xml.validation.SchemaFactory;
import javax.xml.xpath.XPathFactory;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;

/**
 * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a>
 * @since 5.1.29
 */
public class XMLProviderTest {

    @Test
    public void testInstantiationAndDestruction() {
        {
            DatatypeFactoryProvider provider = new DatatypeFactoryProvider();
            DatatypeFactory factory = provider.get();
            assertThat(factory.getClass().getName(), equalTo(DatatypeFactoryProvider.FACTORY_CLASS));
            provider.deconstruct();
        }
        {
            DocumentBuilderFactoryProvider provider = new DocumentBuilderFactoryProvider();
            DocumentBuilderFactory factory = provider.get();
            assertThat(factory.getClass().getName(), equalTo(DocumentBuilderFactoryProvider.FACTORY_CLASS));
            provider.deconstruct();
        }
        {
            SAXParserFactoryProvider provider = new SAXParserFactoryProvider();
            SAXParserFactory factory = provider.get();
            assertThat(factory.getClass().getName(), equalTo(SAXParserFactoryProvider.FACTORY_CLASS));
            provider.deconstruct();
        }
        {
            SchemaFactoryProvider provider = new SchemaFactoryProvider();
            SchemaFactory factory = provider.get();
            assertThat(factory.getClass().getName(), equalTo(SchemaFactoryProvider.FACTORY_CLASS));
            provider.deconstruct();
        }
        {
            TransformerFactoryProvider provider = new TransformerFactoryProvider();
            TransformerFactory factory = provider.get();
            assertThat(factory.getClass().getName(), equalTo(TransformerFactoryProvider.FACTORY_CLASS));
            provider.deconstruct();
        }
        {
            XMLEventFactoryProvider provider = new XMLEventFactoryProvider();
            XMLEventFactory factory = provider.get();
            assertThat(factory.getClass().getName(), equalTo(XMLEventFactoryProvider.FACTORY_CLASS));
            provider.deconstruct();
        }
        {
            XMLInputFactoryProvider provider = new XMLInputFactoryProvider();
            XMLInputFactory factory = provider.get();
            assertThat(factory.getClass().getName(), equalTo(XMLInputFactoryProvider.FACTORY_CLASS));
            provider.deconstruct();
        }
        {
            XMLOutputFactoryProvider provider = new XMLOutputFactoryProvider();
            XMLOutputFactory factory = provider.get();
            assertThat(factory.getClass().getName(), equalTo(XMLOutputFactoryProvider.FACTORY_CLASS));
            provider.deconstruct();
        }
        {
            XPathFactoryProvider provider = new XPathFactoryProvider();
            XPathFactory factory = provider.get();
            assertThat(factory.getClass().getName(), equalTo(XPathFactoryProvider.FACTORY_CLASS));
            provider.deconstruct();
        }
    }

}