def test_more(self):
        srd = Search_Result_DataService()
        resd = Resource_DAO()
        rep = RepairResource_DAO()
        reqeust = ResourceRequest_DAO()

        count_for_test = run_sql_string_statement(
            "select count(*) from Resource")
        count = int(count_for_test[0][0])

        a = count + 1
        b = count + 2

        resd.insert_resource(a, "123Name", "dummy", "not available", 14.56,
                             33.12, "james", 120.4, 3, "hour", "tom",
                             "2015-03-02", "2016-07-03")

        resd.insert_resource(b, "123Name", "dummy", "in repair", 14.56, 33.12,
                             "james", 120.4, 3, "hour", "tom", "2015-03-02",
                             "2016-07-03")

        rep.insert_records(b,
                           rep.get_count() + 1, "james", "2015-03-02",
                           "2016-07-03")
        reqeust.insert_record(1, reqeust.get_count() + 1, "2015-03-02", a)

        ma = srd.populate_table_data("a", "2# aaa", 1000000, "(6) testinci")
        assert isinstance(ma, list)
        print ma
class ActionButton_Dataservice():
    def __init__(self):
        logging.info("start the ActionButton_Dataservice")
        self.resource_request_dao = ResourceRequest_DAO()
        self.repair_resource_dao = RepairResource_DAO()
        self.resource_dao = Resource_DAO()

    def request_function(self, resId, expDate, incid):
        assert isinstance(resId, int)
        assert isinstance(expDate, str)
        assert isinstance(incid, int)
        new_id = int(self.resource_request_dao.get_count()) + 1000
        self.resource_request_dao.insert_record(incid, new_id, expDate, resId)

    def repair_function(self, resId, username, duration):
        assert isinstance(resId, int)
        assert isinstance(username, str)
        assert isinstance(duration, int)
        repId = int(self.repair_resource_dao.get_count()) + 1

        currentStatus = self.resource_dao.get_resource_status_by_resourceId(
            resId)

        if currentStatus == "available":
            start = datetime.now()
            end = start + timedelta(days=duration)
            sd = datetime.strftime(start, "%Y-%m-%d")
            ed = datetime.strftime(end, "%Y-%m-%d")

            self.resource_dao.update_status_resource_id(resId, "in repair")
            self.repair_resource_dao.insert_records(resId, repId, username, sd,
                                                    ed)

        if currentStatus == "not available":
            start = self.resource_dao.get_duedate_by_resourceId(resId)
            sd = datetime.strptime(start, "%Y-%m-%d")
            end = sd + timedelta(days=duration)
            sd = datetime.strftime(sd, "%Y-%m-%d")
            ed = datetime.strftime(end, "%Y-%m-%d")
            self.repair_resource_dao.insert_records(resId, repId, username, sd,
                                                    ed)

    def deploy_function(self, incid, resid, username):
        assert isinstance(incid, int)
        assert isinstance(resid, int)
        assert isinstance(username, str)
        duedate = self.resource_request_dao.get_expectedreturndate_by_resIdAndInciId(
            resid, incid)
        start = datetime.now()
        sd = datetime.strftime(start, "%Y-%m-%d")
        logging.info(sd)
        end = start + timedelta(days=22)
        ed = datetime.strftime(end, "%Y-%m-%d")
        self.resource_dao.update_all_resource_id("not available", sd, ed,
                                                 username, resid)
        self.resource_request_dao.delete_by_resIdAndInciId(resid, incid)
    def test_insert(self):
        rrd = RepairResource_DAO()
        count = rrd.get_count()

        print count

        # rrd.insert_records(count + 1, count + 1, "james", "2015-03-03", "2016-03-03")
        print rrd.get_all_repair_resource_lists()
        print rrd.get_all_repair_resource_lists_by_repairId(3)
        print rrd.get_all_repair_resource_lists_by_resourceID(4)

        print rrd.get_enddate_by_resourceId(3)

        assert isinstance(rrd.get_enddate_by_resourceId(3), str)