Package com.github.variety

Examples of com.github.variety.VarietyAnalysis


        variety.getSourceCollection().drop();
    }

    @Test
    public void testQueryLimitedAnalysis() throws Exception {
        final VarietyAnalysis analysis = variety.withQuery("{someBinData:{$exists: true}}").runAnalysis();
        Assert.assertEquals(3, analysis.getResultsCollection().count());

        // we analyzed only the keys of objects defined by query. But total counts and percents are computed from the complete collection
        analysis.verifyResult("_id", 5, 100, "ObjectId");
        analysis.verifyResult("name", 5, 100, "String");
        analysis.verifyResult("someBinData", 1, 20, "BinData-old");

    }
View Full Code Here


        variety.getSourceCollection().drop();
    }

    @Test
    public void testDatatypeRecognition() throws Exception {
        final VarietyAnalysis analysis = variety.runAnalysis();

        Assert.assertEquals(14, analysis.getResultsCollection().count());

        analysis.verifyResult("_id", 1, 100, "ObjectId");
        analysis.verifyResult("key_string", 1, 100, "String");
        analysis.verifyResult("key_boolean", 1, 100, "Boolean");
        analysis.verifyResult("key_number", 1, 100, "Number");
        analysis.verifyResult("key_date", 1, 100, "Date");
        analysis.verifyResult("key_binData-generic", 1, 100, "BinData-generic");
        analysis.verifyResult("key_binData-function", 1, 100, "BinData-function");
        analysis.verifyResult("key_binData-old", 1, 100, "BinData-old");
        analysis.verifyResult("key_binData-UUID", 1, 100, "BinData-UUID");
        analysis.verifyResult("key_binData-MD5", 1, 100, "BinData-MD5");
        analysis.verifyResult("key_binData-user", 1, 100, "BinData-user");
        analysis.verifyResult("key_array", 1, 100, "Array");
        analysis.verifyResult("key_object", 1, 100, "Object");
        analysis.verifyResult("key_null", 1, 100, "null"); // TODO: why has 'null' first letter lowercase, unlike all other types?
    }
View Full Code Here

    /**
     * verify, that output contains only results table and nothing more
     */
    @Test
    public void testQuietLogs() throws Exception {
        final VarietyAnalysis varietyAnalysis = variety.withQuiet(true).runAnalysis();
        Assert.assertEquals(SampleData.EXPECTED_DATA_ASCII_TABLE, varietyAnalysis.getStdOut());
    }
View Full Code Here

        variety.getSourceCollection().drop();
    }

    @Test
    public void testUnnamedObjects() throws Exception {
        final VarietyAnalysis analysis = variety.runAnalysis();

        Assert.assertEquals(6, analysis.getResultsCollection().count());

        analysis.verifyResult("_id", 2, 100, "ObjectId");
        analysis.verifyResult("title", 2, 100, "String");
        analysis.verifyResult("comments", 2, 100, "Array");

        // unnamed objects are prefixed with .XX key
        analysis.verifyResult("comments.XX.author", 2, 100, "String");
        analysis.verifyResult("comments.XX.body", 2, 100, "String");
        analysis.verifyResult("comments.XX.visible", 1, 50, "Boolean");
    }
View Full Code Here

        variety.getSourceCollection().drop();
    }

    @Test
    public void verifyJsonEntries() throws Exception {
        final VarietyAnalysis analysis = variety
                .withQuiet(true) // do not output any other metadata, only results
                .withFormat(Variety.FORMAT_JSON)
                .runAnalysis();

        // Verify, that output is parse-able json by transforming stdout to json
        final BasicDBList parsed = (BasicDBList) JSON.parse(analysis.getStdOut());

        // there should be seven different json results
        Assert.assertEquals(7, parsed.size());
    }
View Full Code Here

        Assert.assertEquals(7, parsed.size());
    }

    @Test
    public void verifyAsciiTableOutput() throws Exception {
        final VarietyAnalysis analysis = variety.withFormat(Variety.FORMAT_ASCII).runAnalysis();

        // filter only lines starting with character '|'
        final String actual = Stream.of(analysis.getStdOut().split("\n"))
                .filter(line -> line.startsWith("|") || line.startsWith("+"))
                .collect(Collectors.joining("\n"));

        Assert.assertEquals(SampleData.EXPECTED_DATA_ASCII_TABLE, actual);
View Full Code Here

        variety.getSourceCollection().drop();
    }

    @Test
    public void verifyBasicResults() throws Exception {
        final VarietyAnalysis analysis = variety.runAnalysis();
        analysis.verifyResult("_id", 5, 100, "ObjectId");
        analysis.verifyResult("name", 5, 100, "String");
        analysis.verifyResult("bio", 3, 60, "String");
        analysis.verifyResult("pets", 2, 40, "String", "Array");
        analysis.verifyResult("someBinData", 1, 20, "BinData-old");
        analysis.verifyResult("someWeirdLegacyKey", 1, 20, "String");
    }
View Full Code Here

TOP

Related Classes of com.github.variety.VarietyAnalysis

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.