# -*- 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_users(db, **kwargs):
    db.recreate()
    db.save_docs(copy.deepcopy(USERS_DOCS))


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"], "user_id"),
        (["name.last", "name.first"], "name"),
        (["age"], "age"),
        (
            [
                "location.state",
                "location.city",
                "location.address.street",
                "location.address.number",
            ],
            "location",
        ),
        (["company", "manager"], "company_and_manager"),
        (["manager"], "manager"),
        (["favorites"], "favorites"),
        (["favorites.3"], "favorites_3"),
        (["twitter"], "twitter"),
        (["ordered"], "ordered"),
    ]
    for (idx, name) in indexes:
        assert db.create_index(idx, name=name, ddoc=name) 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",
        "ordered": None,
    },
    {
        "_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",
        "ordered": False,
    },
    {
        "_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,
        "twitter": None,
        "favorites": ["Lisp", "Erlang", "Python"],
        "exists_array": ["should", "exist", "array1"],
        "complex_field_value": '+-(){}[]^~&&*||"\\/?:!',
        "ordered": True,
    },
    {
        "_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"],
        "ordered": 9,
    },
    {
        "_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"},
        "ordered": 10000,
    },
    {
        "_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"},
        "ordered": "a",
    },
    {
        "_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"],
        "ordered": "A",
    },
    {
        "_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",
        "favorites": ["Erlang", "Python", "Lisp"],
        "ordered": "aa",
    },
]


USERS_DOCS = [
    {
        "_id": "org.couchdb.user:demo01",
        "name": "demo01",
        "username": "demo01",
        "password": "apple01",
        "roles": ["design"],
        "order": 1,
        "type": "user",
    },
    {
        "_id": "org.couchdb.user:demo02",
        "name": "demo02",
        "username": "demo02",
        "password": "apple02",
        "roles": ["reader"],
        "order": 2,
        "type": "user",
    },
    {
        "_id": "org.couchdb.user:demo03",
        "name": "demo03",
        "username": "demo03",
        "password": "apple03",
        "roles": ["reader", "writer"],
        "order": 3,
        "type": "user",
    },
]
