diff --git a/src/api/controllers/collect.spec.ts b/src/api/controllers/collect.spec.ts
index b89684916b2c4dddbed03b8d6e5a9eaea8b23697..45bc6d982273ee9016678e710033655a4944e007 100644
--- a/src/api/controllers/collect.spec.ts
+++ b/src/api/controllers/collect.spec.ts
@@ -27,7 +27,7 @@ import { Fixture as FixPostgres } from "../../../test/postgres/fixture";
 import { Fixture as FixMonet } from "../../../test/monet/fixture";
 import { MonetAdapter, MonetConfig } from "../../adapter/monet";
 import { PostgresAdapter } from "../../adapter/postgres";
-
+import { Source } from "../../core/source";
 
 // criar de certa forma tabela e depois excluir apos o teste...???
 // comando direto no bd
@@ -41,46 +41,22 @@ import { PostgresAdapter } from "../../adapter/postgres";
 describe("API collect controller", () => {
     // Initializing
     let config: any;
-    // let adapter: Adapter;
+    let adapter: Adapter;
     let fixture;
     before(function (done): void {
         // Arrow function not used to get acces to this and skip the test
         config = ConfigParser.parse("config/test.yaml");
         if (config.adapter === "postgres") {
             fixture = new FixPostgres(config.connection);
-            fixture.LoadSource(config.sources, config.struct.create);
-                // if (err) {
-                    // throw err;
-                // }
-                // adapter = new PostgresAdapter(config.connection);
-                // done();
-            // });
-
+            fixture.LoadSource(config.sources, config.struct.create, (err) => {
+                if (err) {
+                    throw err;
+                }
+                adapter = new PostgresAdapter(config.connection);
+                done();
+            });
         }
-        done();
     });
-        // else if (config.adapter === "monet") {
-            // fixture = new FixMonet(config.connection);
-            // fixture.load(config.loadViews, config.struct.create, (err) => {
-                // if (err) {
-                    // throw err;
-                // }
-                // let parsedConfig: MonetConfig = {
-                    // user: config.connection.user,
-                    // dbname: config.connection.database,
-                    // password: config.connection.password,
-                    // host: config.connection.host,
-                    // port: config.connection.port
-                // };
-                // adapter = new MonetAdapter(parsedConfig);
-                // done();
-            // });
-        // }
-        // else {
-            // this.skip();
-        // }
-    // });
-    // Tests
     it("should respond 500 since the req.params.class does not exist on Sources", (done) => {
         request(server)
             .post("/v1/collect/thisisjustatest")
@@ -258,15 +234,15 @@ describe("API collect controller", () => {
             })
             .end(done);
     });
-    it("should respond 500 failed to insert since source_4 isn't on postgres", (done) => {
+    it("should respond 200 sucessfull insertion of source_4", (done) => {
         request(server)
             .post("/v1/collect/source_4")
             .send({"fields_0" : 1 , "fields_1" : 95.5 , "fields_2" : "teste"
             , "fields_3" : true , "fields_4" : "1999-10-10"})
-            .expect(500)
+            .expect(200)
             .expect((res: any) => {
 
-                const message = "Insertion has failed";
+                const message = "Data has been successfully receibed and stored by the server";
                 expect(res.body).to.be.an("object");
                 expect(res.body).to.have.property("message");
                 expect(res.body.message).to.be.eql(message);
@@ -274,7 +250,7 @@ describe("API collect controller", () => {
             })
             .end(done);
     });
-    it("should respond 500 the dataType does not exist", (done) =>{
+    it("should respond 500 the dataType does not exist", (done) => {
         request(server)
         .post("/v1/collect/source_2")
         .send({"fields_0" : 1 })
@@ -291,4 +267,14 @@ describe("API collect controller", () => {
         })
         .end(done);
     });
+    // it("should respond 500 since source_9999 does not exist on postgres", (done) => {
+        // let source: Source;
+        // source = "['name': 'source_9999','description':'nothing herer ', 'fields' : [{'name' : 'field_0', 'description':'nothing here', 'dataType' : 'string'}]]";
+        // let query: any = "[{'fields_0': 'batata }]";
+        // adapter.insertIntoSource(null, query, (err, result) => {
+        // 
+        // });
+        //
+        // done();
+    // });
 });
diff --git a/test/postgres/fixture.ts b/test/postgres/fixture.ts
index c77f048de16e865edef7be5387dfef151e52824c..0d0af09e97590e694131dbcf396b79563d8b039a 100644
--- a/test/postgres/fixture.ts
+++ b/test/postgres/fixture.ts
@@ -20,7 +20,7 @@
 
 import { Client, PoolConfig } from "pg";
 import { View, LoadView } from "../../src/core/view";
-import { Source, Field } from "../../src/core/source";
+import { Source } from "../../src/core/source";
 import { each, series } from "async";
 import * as fs from "fs";
 
@@ -114,7 +114,7 @@ export class Fixture {
             case "boolean":
                 return "BOOLEAN";
             default:
-                return "";
+                return "TEXT";
         }
     }
 
@@ -155,17 +155,38 @@ export class Fixture {
         }
         return transaction;
     }
-    public LoadSource(source: Source[], create: boolean): void {
-        // console.log(source);
+    public LoadSource(source: Source[], create: boolean , cb: (err: Error) => void): void {
+
+        let client = new Client(this.config);
 
         let query: string[] = [];
         for (let i = 0; i < source.length; i++ ){
-        query[i] = this.ExtractData(source[i]);
-        // console.log(query[i]);
+        query[i] = this.ExtractData(source[i], create);
         }
 
+        client.connect((error) => {
+            if (error) {
+                cb(error);
+                return;
+            }
+
+            series([(callback: (err: Error) => void) => {
+                each(query, (insere, cback) => {
+                    return client.query(insere , [], (err: Error) => cback(err));
+                }, (errQuery: Error) => callback(errQuery));
+             }], (errQuery: Error) => {
+                 if (errQuery) {
+                     client.end();
+                     cb(errQuery);
+                 }
+                 client.end((err) => {
+                     cb(err);
+                 });
+             });
+        });
+
     }
-    private ExtractData(data: Source): string{
+    private ExtractData(data: Source , create: boolean): string{
         let name: string;
         let type: string[];
         let fields: string[];
@@ -175,16 +196,19 @@ export class Fixture {
         type = data.fields.map((item) => item.dataType);
         fields = data.fields.map((item) => item.name);
 
+        if (create){
         consult = "CREATE TABLE " + name + " (";
-        consult = consult.concat(type.join(",") + text.join(","))
-        // consult = consult.concat(colums.join(","));
-        // consult = consult.concat(") VALUES ('");
-        // consult = consult.concat(values.join("' , '"));
-        // consult = consult.concat("');");
-
-        console.log(name);
+        for (let i = 0; i < fields.length; i++){
+            fields[i] = fields[i].concat(" " + this.typeConvertion(type[i]));
+        }
+        consult = consult.concat(fields.join(", "));
+        consult = consult.concat(");");
+        }
+        else{
+        consult = "TRUNCATE TABLE " + name + ";";
+        }
 
-        return ;
+        return consult;
 
     }
 }