Back

-read (clj)

(source)

declaration

Examples

epiccastle/spire
(ns spire.namespaces
  (:require [spire.ssh :as ssh]
            [spire.utils :as utils]
            [spire.context :as context]
            [spire.transport :as transport]
            [spire.state :as state]
            [spire.output.core]
            [spire.output.default]
            [spire.output.events]
            [spire.output.quiet]
            [spire.facts :as facts]
            [spire.selmer :as selmer]
            [spire.module.curl :as curl]
            [spire.module.line-in-file :as line-in-file]
            [spire.module.get-file :as get-file]
            [spire.module.download :as download]
            [spire.module.upload :as upload]
            [spire.module.user :as user]
            [spire.module.apt :as apt]
            [spire.module.aws :as aws]
            [spire.module.attrs :as attrs]
            [spire.module.apt-repo :as apt-repo]
            [spire.module.apt-key :as apt-key]
            [spire.module.pkg :as pkg]
            [spire.module.rm :as rm]
            [spire.module.group :as group]
            [spire.module.mkdir :as mkdir]
            [spire.module.shell :as shell]
            [spire.module.sysctl :as sysctl]
            [spire.module.service :as service]
            [spire.module.authorized-keys :as authorized-keys]
            [spire.module.stat :as stat]
            [spire.module.sudo :as sudo]
            [spire.local]
            [spire.remote]
            [spire.default]
            [clojure.tools.cli]
            [clojure.java.shell]
            [clojure.edn]
            [clojure.stacktrace :as stacktrace]
            [clojure.string]
            [clojure.set]
            [clojure.java.io]
            [clojure.data.json]
            [sci.core :as sci]
            [clj-http.lite.core]
            [clj-http.lite.client]
            [clj-http.lite.links]
            [clj-http.lite.util]
            [cheshire.core]
            [cheshire.custom]
            [cheshire.exact]
            [cheshire.experimental]
            [cheshire.factory]
            [cheshire.generate]
            [cheshire.generate-seq]
            [cheshire.parse]
            [fipp.edn]
            [edamame.core]
            [spire.sci :refer [make-sci-bindings
                               make-sci-bindings-clean
                               sci-bind-macro
                               clojure-repl]]
            [sci.impl.namespaces :refer [copy-var]]
            [sci.impl.vars :as vars]))

        (quote ~'stat*) (copy-var stat/stat* ~ns-sym)
        (quote ~'stat) (sci-bind-macro stat/stat ~ns-sym)
        (quote ~'other-exec?) (copy-var stat/other-exec? ~ns-sym)
        (quote ~'other-read?) (copy-var stat/other-read? ~ns-sym)
        (quote ~'other-write?) (copy-var stat/other-write? ~ns-sym)
        (quote ~'group-exec?) (copy-var stat/group-exec? ~ns-sym)
        (quote ~'group-read?) (copy-var stat/group-read? ~ns-sym)
        (quote ~'group-write?) (copy-var stat/group-write? ~ns-sym)
        (quote ~'user-exec?) (copy-var stat/user-exec? ~ns-sym)
        (quote ~'user-read?) (copy-var stat/user-read? ~ns-sym)
        (quote ~'user-write?) (copy-var stat/user-write? ~ns-sym)
        (quote ~'mode-flags) (copy-var stat/mode-flags ~ns-sym)
        (quote ~'exec?) (copy-var stat/exec? ~ns-sym)
        (quote ~'readable?) (copy-var stat/readable? ~ns-sym)
        (quote ~'writeable?) (copy-var stat/writeable? ~ns-sym)
        (quote ~'directory?) (copy-var stat/directory? ~ns-sym)
        (quote ~'block-device?) (copy-var stat/block-device? ~ns-sym)
        (quote ~'char-device?) (copy-var stat/char-device? ~ns-sym)
        (quote ~'symlink?) (copy-var stat/symlink? ~ns-sym)
        (quote ~'fifo?) (copy-var stat/fifo? ~ns-sym)
        (quote ~'regular-file?) (copy-var stat/regular-file? ~ns-sym)
        (quote ~'socket?) (copy-var stat/socket? ~ns-sym)
Swirrl/table2qb
(ns table2qb.pipelines.components-test
  (:require [clojure.data.json :as json]
            [clojure.java.io :as io]
            [clojure.test :refer :all]
            [grafter-2.rdf4j.repository :as repo]
            [table2qb.csv :refer [reader]]
            [table2qb.pipelines.components :refer :all]
            [table2qb.pipelines.test-common
             :refer
             [add-csvw
              eager-select
              example
              example-csv
              example-csvw
              first-by
              maps-match?
              test-domain]]))

(deftest components-test
  (testing "csv table"
    (with-open [input-reader (reader (example-csv "regional-trade" "components.csv"))]
      (let [components (doall (component-records input-reader))]
        (testing "one row per component"
          (is (= 4 (count components))))
        (testing "one column per attribute"
          (testing "flow"
            (let [flow (first-by :label "Flow" components)]
              (are [attribute value] (= value (attribute flow))
                :notation "flow"
                :description "Direction in which trade is measured"
                :component_type "qb:DimensionProperty"
                :component_type_slug "dimension"
                :codelist "http://gss-data.org.uk/def/concept-scheme/flow-directions"
                :property_slug "flow"
                :class_slug "Flow"
                :parent_property nil)))
          (testing "gbp total"
            (let [gbp-total (first-by :label "GBP Total" components)]
              (are [attribute value] (= value (attribute gbp-total))
                :notation "gbp-total"
                :component_type "qb:MeasureProperty"
                :component_type_slug "measure"
                :property_slug "gbpTotal"
                :class_slug "GbpTotal"
                :parent_property "http://purl.org/linked-data/sdmx/2009/measure#obsValue")))))))
  (testing "json metadata"
    (with-open [target-reader (reader (example-csvw "regional-trade" "components.json"))]
      (maps-match? (json/read target-reader)
                   (components-schema "components.csv" (get-uris test-domain)))))