# -*- coding: utf-8 -*-
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.

"""
Generated with http://www.json-generator.com/

With this pattern:

[
    '{{repeat(20)}}',
    {
        _id: '{{guid()}}',
        user_id: "{{index()}}",
        name: {
            first: "{{firstName()}}",
            last: "{{surname()}}"
        },
        age: "{{integer(18,90)}}",
        location: {
            state: "{{state()}}",
            city: "{{city()}}",
            address: {
                street: "{{street()}}",
                number: "{{integer(10, 10000)}}"
            }
        },
        company: "{{company()}}",
        email: "{{email()}}",
        manager: "{{bool()}}",
        twitter: function(tags) {
            if(this.manager)
                return;
            return "@" + this.email.split("@")[0];
        },
        favorites: [
            "{{repeat(2,5)}}",
            "{{random('C', 'C++', 'Python', 'Ruby', 'Erlang', 'Lisp')}}"
        ]
    }
]
"""


import copy


def setup(db, index_type="view", **kwargs):
    db.recreate()
    db.save_docs(copy.deepcopy(DOCS))
    if index_type == "view":
        add_view_indexes(db, kwargs)
    elif index_type == "text":
        add_text_indexes(db, kwargs)


def add_view_indexes(db, kwargs):
    indexes = [
        ["user_id"],
        ["name.last", "name.first"],
        ["age"],
        [
            "location.state",
            "location.city",
            "location.address.street",
            "location.address.number"
        ],
        ["company", "manager"],
        ["manager"],
        ["favorites"],
        ["favorites.3"],
        ["twitter"]
    ]
    for idx in indexes:
        assert db.create_index(idx) is True


def add_text_indexes(db, kwargs):
    db.create_text_index(**kwargs)


DOCS = [
    {
        "_id": "71562648-6acb-42bc-a182-df6b1f005b09",
        "user_id": 0,
        "name": {
            "first": "Stephanie",
            "last": "Kirkland"
        },
        "age": 48,
        "location": {
            "state": "Nevada",
            "city": "Ronco",
            "address": {
                "street": "Evergreen Avenue",
                "number": 347
            }
        },
        "company": "Dreamia",
        "email": "stephaniekirkland@dreamia.com",
        "manager": False,
        "twitter": "@stephaniekirkland",
        "favorites": [
            "Ruby",
            "C",
            "Python"
        ],
        "test" : [{"a":1}, {"b":2}]
    },
    {
        "_id": "12a2800c-4fe2-45a8-8d78-c084f4e242a9",
        "user_id": 1,
        "name": {
            "first": "Abbott",
            "last": "Watson"
        },
        "age": 31,
        "location": {
            "state": "Connecticut",
            "city": "Gerber",
            "address": {
                "street": "Huntington Street",
                "number": 8987
            }
        },
        "company": "Talkola",
        "email": "abbottwatson@talkola.com",
        "manager": False,
        "twitter": "@abbottwatson",
        "favorites": [
            "Ruby",
            "Python",
            "C",
            {"Versions": {"Alpha": "Beta"}}
        ],
        "test" : [{"a":1, "b":2}]
    },
    {
        "_id": "48ca0455-8bd0-473f-9ae2-459e42e3edd1",
        "user_id": 2,
        "name": {
            "first": "Shelly",
            "last": "Ewing"
        },
        "age": 42,
        "location": {
            "state": "New Mexico",
            "city": "Thornport",
            "address": {
                "street": "Miller Avenue",
                "number": 7100
            }
        },
        "company": "Zialactic",
        "email": "shellyewing@zialactic.com",
        "manager": True,
        "favorites": [
            "Lisp",
            "Python",
            "Erlang"
        ],
        "test_in": {"val1" : 1, "val2": "val2"}
    },
    {
        "_id": "0461444c-e60a-457d-a4bb-b8d811853f21",
        "user_id": 3,
        "name": {
            "first": "Madelyn",
            "last": "Soto"
        },
        "age": 79,
        "location": {
            "state": "Utah",
            "city": "Albany",
            "address": {
                "street": "Stockholm Street",
                "number": 710
            }
        },
        "company": "Tasmania",
        "email": "madelynsoto@tasmania.com",
        "manager": True,
        "favorites": [[
                "Lisp",
                "Erlang",
                "Python"
            ],
            "Erlang",
            "C",
            "Erlang"
        ],
        "11111": "number_field",
        "22222": {"33333" : "nested_number_field"}
    },
    {
        "_id": "8e1c90c0-ac18-4832-8081-40d14325bde0",
        "user_id": 4,
        "name": {
            "first": "Nona",
            "last": "Horton"
        },
        "age": 61,
        "location": {
            "state": "Georgia",
            "city": "Corinne",
            "address": {
                "street": "Woodhull Street",
                "number": 6845
            }
        },
        "company": "Signidyne",
        "email": "nonahorton@signidyne.com",
        "manager": False,
        "twitter": "@nonahorton",
        "favorites": [
            "Lisp",
            "C",
            "Ruby",
            "Ruby"
        ],
        "name.first" : "name dot first"
    },
    {
        "_id": "a33d5457-741a-4dce-a217-3eab28b24e3e",
        "user_id": 5,
        "name": {
            "first": "Sheri",
            "last": "Perkins"
        },
        "age": 73,
        "location": {
            "state": "Michigan",
            "city": "Nutrioso",
            "address": {
                "street": "Bassett Avenue",
                "number": 5648
            }
        },
        "company": "Myopium",
        "email": "sheriperkins@myopium.com",
        "manager": True,
        "favorites": [
            "Lisp",
            "Lisp"
        ]
    },
    {
        "_id": "b31dad3f-ae8b-4f86-8327-dfe8770beb27",
        "user_id": 6,
        "name": {
            "first": "Tate",
            "last": "Guy"
        },
        "age": 47,
        "location": {
            "state": "Illinois",
            "city": "Helen",
            "address": {
                "street": "Schenck Court",
                "number": 7392
            }
        },
        "company": "Prosely",
        "email": "tateguy@prosely.com",
        "manager": True,
        "favorites": [
            "C",
            "Lisp",
            "Ruby",
            "C"
        ]
    },
    {
        "_id": "659d0430-b1f4-413a-a6b7-9ea1ef071325",
        "user_id": 7,
        "name": {
            "first": "Jewell",
            "last": "Stafford"
        },
        "age": 33,
        "location": {
            "state": "Iowa",
            "city": "Longbranch",
            "address": {
                "street": "Dodworth Street",
                "number": 3949
            }
        },
        "company": "Niquent",
        "email": "jewellstafford@niquent.com",
        "manager": True,
        "favorites": [
            "C",
            "C",
            "Ruby",
            "Ruby",
            "Erlang"
        ],
        "exists_field" : "should_exist1"

    },
    {
        "_id": "6c0afcf1-e57e-421d-a03d-0c0717ebf843",
        "user_id": 8,
        "name": {
            "first": "James",
            "last": "Mcdaniel"
        },
        "age": 68,
        "location": {
            "state": "Maine",
            "city": "Craig",
            "address": {
                "street": "Greene Avenue",
                "number": 8776
            }
        },
        "company": "Globoil",
        "email": "jamesmcdaniel@globoil.com",
        "manager": True,
        "favorites": None,
        "exists_field" : "should_exist2"
    },
    {
        "_id": "954272af-d5ed-4039-a5eb-8ed57e9def01",
        "user_id": 9,
        "name": {
            "first": "Ramona",
            "last": "Floyd"
        },
        "age": 22,
        "location": {
            "state": "Missouri",
            "city": "Foxworth",
            "address": {
                "street": "Lott Place",
                "number": 1697
            }
        },
        "company": "Manglo",
        "email": "ramonafloyd@manglo.com",
        "manager": True,
        "favorites": [
            "Lisp",
            "Erlang",
            "Python"
        ],
        "exists_array" : ["should", "exist", "array1"],
        "complex_field_value" : "+-(){}[]^~&&*||\"\\/?:!"
    },
    {
        "_id": "e900001d-bc48-48a6-9b1a-ac9a1f5d1a03",
        "user_id": 10,
        "name": {
            "first": "Charmaine",
            "last": "Mills"
        },
        "age": 43,
        "location": {
            "state": "New Hampshire",
            "city": "Kiskimere",
            "address": {
                "street": "Nostrand Avenue",
                "number": 4503
            }
        },
        "company": "Lyria",
        "email": "charmainemills@lyria.com",
        "manager": True,
        "favorites": [
            "Erlang",
            "Erlang"
        ],
        "exists_array" : ["should", "exist", "array2"]
    },
    {
        "_id": "b06aadcf-cd0f-4ca6-9f7e-2c993e48d4c4",
        "user_id": 11,
        "name": {
            "first": "Mathis",
            "last": "Hernandez"
        },
        "age": 75,
        "location": {
            "state": "Hawaii",
            "city": "Dupuyer",
            "address": {
                "street": "Bancroft Place",
                "number": 2741
            }
        },
        "company": "Affluex",
        "email": "mathishernandez@affluex.com",
        "manager": True,
        "favorites": [
            "Ruby",
            "Lisp",
            "C",
            "C++",
            "C++"
        ],
        "exists_object" : {"should": "object"}
    },
    {
        "_id": "5b61abc1-a3d3-4092-b9d7-ced90e675536",
        "user_id": 12,
        "name": {
            "first": "Patti",
            "last": "Rosales"
        },
        "age": 71,
        "location": {
            "state": "Pennsylvania",
            "city": "Juntura",
            "address": {
                "street": "Hunterfly Place",
                "number": 7683
            }
        },
        "company": "Oulu",
        "email": "pattirosales@oulu.com",
        "manager": True,
        "favorites": [
            "C",
            "Python",
            "Lisp"
        ],
        "exists_object" : {"another": "object"}
    },
    {
        "_id": "b1e70402-8add-4068-af8f-b4f3d0feb049",
        "user_id": 13,
        "name": {
            "first": "Whitley",
            "last": "Harvey"
        },
        "age": 78,
        "location": {
            "state": "Minnesota",
            "city": "Trail",
            "address": {
                "street": "Pleasant Place",
                "number": 8766
            }
        },
        "company": None,
        "email": "whitleyharvey@fangold.com",
        "manager": False,
        "twitter": "@whitleyharvey",
        "favorites": [
            "C",
            "Ruby",
            "Ruby"
        ]
    },
    {
        "_id": "c78c529f-0b07-4947-90a6-d6b7ca81da62",
        "user_id": 14,
        "name": {
            "first": "Faith",
            "last": "Hess"
        },
        "age": 51,
        "location": {
            "state": "North Dakota",
            "city": "Axis",
            "address": {
                "street": "Brightwater Avenue",
                "number": 1106
            }
        },
        "company": "Pharmex",
        "email": "faithhess@pharmex.com",
        "manager": True,
        "favorites": [
            "Erlang",
            "Python",
            "Lisp"
        ]
    }
]
