Skip to content

Commit

Permalink
add sample xml test
Browse files Browse the repository at this point in the history
  • Loading branch information
flarco committed Aug 26, 2024
1 parent 861007f commit 6e16e4c
Show file tree
Hide file tree
Showing 5 changed files with 9,206 additions and 0 deletions.
33 changes: 33 additions & 0 deletions core/dbio/filesys/fs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package filesys

import (
"bytes"
"encoding/xml"
"fmt"
"io"
"os"
Expand All @@ -11,6 +12,7 @@ import (

arrowParquet "github.com/apache/arrow/go/v16/parquet"
"github.com/apache/arrow/go/v16/parquet/compress"
"github.com/clbanning/mxj/v2"
"github.com/flarco/g/net"
"github.com/linkedin/goavro/v2"
"github.com/parquet-go/parquet-go"
Expand Down Expand Up @@ -238,6 +240,37 @@ func TestFileSysLocalJson(t *testing.T) {

}

// Define structs to match your XML structure
type Root struct {
XMLName xml.Name `xml:"root"`
Elements []Element `xml:"element"`
}

type Element struct {
CreateDt string `xml:"create_dt"`
Email string `xml:"email"`
FirstName string `xml:"first_name"`
ID int `xml:"id"`
LastName string `xml:"last_name"`
Rating float64 `xml:"rating"`
Target bool `xml:"target"`
}

func TestFileSysLocalXml(t *testing.T) {

fileBytes, err := os.ReadFile("test/test1/xml/test1.1.xml")
assert.NoError(t, err)

var payload any
mv, err := mxj.NewMapXml(fileBytes)
assert.NoError(t, err)
payload = mv.Old()

assert.NotNil(t, payload, "Payload should not be nil")
g.Debug("payload: %s", g.Marshal(payload))

}

func TestFileSysLocalParquet(t *testing.T) {
t.Parallel()
fs, err := NewFileSysClient(dbio.TypeFileLocal)
Expand Down
166 changes: 166 additions & 0 deletions core/dbio/filesys/test/test1/xml/test1.1.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<element>
<create_dt>2019-02-11 11:23:00.000</create_dt>
<email>ilumox0@unc.edu</email>
<first_name>AOCG,"
883</first_name>
<id>1</id>
<last_name>Lumox</last_name>
<rating>35.987</rating>
<target>true</target>
</element>
<element>
<create_dt>2019-08-19 17:02:09.000</create_dt>
<email>tmee1@example.com</email>
<first_name>Terrell</first_name>
<id>2</id>
<last_name>EKOZ,989</last_name>
<rating>89.983</rating>
<target>true</target>
</element>
<element>
<create_dt>2019-08-07 16:48:12.000</create_dt>
<email>fcomolli2@cbslocal.com</email>
<first_name>Frayda</first_name>
<id>3</id>
<last_name>Comolli</last_name>
<rating>89.401</rating>
<target>false</target>
</element>
<element>
<create_dt>2019-03-31 14:41:45.000</create_dt>
<email>acrookshank3@mapy.cz</email>
<first_name>Alphonse</first_name>
<id>4</id>
<last_name>Crookshank</last_name>
<rating>19.933</rating>
<target>true</target>
</element>
<element>
<create_dt>2019-07-15 21:20:39.000</create_dt>
<email>mdeaves4@va.gov</email>
<first_name>Mathilda</first_name>
<id>5</id>
<last_name>Deaves</last_name>
<rating>90.643</rating>
<target>true</target>
</element>
<element>
<create_dt>2019-06-20 10:58:40.000</create_dt>
<email>tlivens5@cargocollective.com</email>
<first_name>Trixi</first_name>
<id>6</id>
<last_name>Livens</last_name>
<rating>74.341</rating>
<target>true</target>
</element>
<element>
<create_dt>2019-03-11 09:18:34.000</create_dt>
<email>idomican6@gravatar.com</email>
<first_name>Ida</first_name>
<id>7</id>
<last_name>Domican</last_name>
<rating>55.454</rating>
<target>false</target>
</element>
<element>
<create_dt>2019-09-11 22:08:40.000</create_dt>
<email>bkears7@nih.gov</email>
<first_name>Bogey</first_name>
<id>8</id>
<last_name>Kears</last_name>
<rating>3.869</rating>
<target>false</target>
</element>
<element>
<create_dt>2019-02-19 16:23:06.000</create_dt>
<email>jmelanaphy8@alibaba.com</email>
<first_name>Janifer</first_name>
<id>9</id>
<last_name>Melanaphy</last_name>
<rating>48.234</rating>
<target>true</target>
</element>
<element>
<create_dt>2019-04-17 05:05:18.000</create_dt>
<email>killsley9@feedburner.com</email>
<first_name>Kaela</first_name>
<id>10</id>
<last_name>Illsley</last_name>
<rating>86.13</rating>
<target>false</target>
</element>
<element>
<create_dt>2019-01-03 05:57:01.000</create_dt>
<email>yruprechtera@baidu.com</email>
<first_name>Yorgos</first_name>
<id>11</id>
<last_name>Ruprechter</last_name>
<rating>88.736</rating>
<target>false</target>
</element>
<element>
<create_dt>2019-08-12 14:51:09.000</create_dt>
<email>bbothamsb@amazon.co.jp</email>
<first_name>Bunni</first_name>
<id>12</id>
<last_name>Bothams</last_name>
<rating>94.945</rating>
<target>false</target>
</element>
<element>
<create_dt>2019-05-22 09:38:10.000</create_dt>
<email>satwaterc@webeden.co.uk</email>
<first_name>Sharon</first_name>
<id>13</id>
<last_name>Atwater</last_name>
<rating>30.112</rating>
<target>false</target>
</element>
<element>
<create_dt>2019-02-01 18:47:06.000</create_dt>
<email>ereald@amazonaws.com</email>
<first_name>Ellen</first_name>
<id>14</id>
<last_name>Real</last_name>
<rating>6.877</rating>
<target>true</target>
</element>
<element>
<create_dt>2019-07-25 04:34:02.000</create_dt>
<email>cballancee@amazonaws.com</email>
<first_name>Charissa</first_name>
<id>15</id>
<last_name>Ballance</last_name>
<rating>8.514</rating>
<target>true</target>
</element>
<element>
<create_dt>2019-10-06 04:13:55.000</create_dt>
<email>zcudifff@jigsy.com</email>
<first_name>Zorina</first_name>
<id>16</id>
<last_name>Cudiff</last_name>
<rating>27.63</rating>
<target>false</target>
</element>
<element>
<create_dt>2019-09-01 05:11:02.000</create_dt>
<email>gkenrackg@chronoengine.com</email>
<first_name>Grove</first_name>
<id>17</id>
<last_name>Kenrack</last_name>
<rating>18.658</rating>
<target>true</target>
</element>
<element>
<create_dt>2019-05-31 14:55:31.000</create_dt>
<email>afewtrellh@google.cn</email>
<first_name>Alexis</first_name>
<id>18</id>
<last_name>Fewtrell</last_name>
<rating>44.751</rating>
<target>true</target>
</element>
</data>
Loading

0 comments on commit 6e16e4c

Please sign in to comment.