<commit_before>(ns pe-apptxn-core.core-test
  (:require [clojure.test :refer :all]
            [clojure.pprint :refer [pprint]]
            [pe-core-utils.core :as ucore]
            [pe-core-testutils.core :as tucore]
            [pe-apptxn-core.test-utils :refer [apptxn-schema-filename
                                               db-uri
                                               apptxn-partition]]
            [pe-apptxn-core.core :refer :all]
            [clojure.java.io :refer [resource]]
            [datomic.api :as d]
            [clojure.walk :refer [keywordize-keys]]
            [clojure.tools.logging :as log]
            [clojure.data.json :as json]
            [clj-time.core :as t]))

(def conn (atom nil))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Fixtures
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-fixtures :each (tucore/make-db-refresher db-uri
                                              conn
                                              apptxn-partition
                                              apptxn-schema-filename))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Tests
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(deftest Loading-and-Saving-Transactions
  (testing "Save a new app transaction set."
    (let [apptxnset (keywordize-keys
                     (-> (json/read-str (slurp (resource "apptxnset.json")))
                         (ucore/rfc7231str-dates->instants)))
          apptxnset-txn (save-apptxnset-txnmaps @conn apptxn-partition nil apptxnset)]
      @(d/transact @conn apptxnset-txn)
      (let [apptxn-id "TXN1-3BB05024-B7F6-4B66-838B-F6982FCB08DF"
            apptxn-entid (find-apptxn-by-id @conn apptxn-id)]
        (is (not (nil? apptxn-entid)))
        (let [apptxn-ent (d/entity (d/db @conn) apptxn-entid)]
          (is (not (nil? apptxn-ent)))<commit_msg>Updated unit tests.<commit_after>(ns pe-apptxn-core.core-test
  (:require [clojure.test :refer :all]
            [clojure.pprint :refer [pprint]]
            [pe-core-utils.core :as ucore]
            [pe-core-testutils.core :as tucore]
            [pe-apptxn-core.test-utils :refer [apptxn-schema-filename
                                               db-uri
                                               apptxn-partition]]
            [pe-apptxn-core.core :refer :all]
            [clojure.java.io :refer [resource]]
            [datomic.api :as d]
            [clojure.walk :refer [keywordize-keys]]
            [clojure.tools.logging :as log]
            [clojure.data.json :as json]
            [clj-time.core :as t]))

(def conn (atom nil))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Fixtures
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-fixtures :each (tucore/make-db-refresher-fixture-fn db-uri
                                                         conn
                                                         apptxn-partition
                                                         apptxn-schema-filename))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Tests
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(deftest Loading-and-Saving-Transactions
  (testing "Save a new app transaction set."
    (let [apptxnset (keywordize-keys
                     (-> (json/read-str (slurp (resource "apptxnset.json")))
                         (ucore/rfc7231str-dates->instants)))
          apptxnset-txn (save-apptxnset-txnmaps @conn apptxn-partition nil apptxnset)]
      @(d/transact @conn apptxnset-txn)
      (let [apptxn-id "TXN1-3BB05024-B7F6-4B66-838B-F6982FCB08DF"
            apptxn-entid (find-apptxn-by-id @conn apptxn-id)]
        (is (not (nil? apptxn-entid)))
        (let [apptxn-ent (d/entity (d/db @conn) apptxn-entid)]
          (is (not (nil? apptxn-ent)))
{'fraction_non_alphanumeric': 0.26144278606965177, 'fraction_numerical': 0.012437810945273632, 'mean_word_length': 1.9371804236669101, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 20, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2994807', 'n_tokens_mistral': 1480, 'n_tokens_neox': 1257, 'n_words': 203}